Jump to content

cippall

Members
  • Posts

    7
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

cippall's Achievements

Newbie

Newbie (1/14)

  • Reacting Well Rare
  • First Post Rare
  • Conversation Starter Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Hi, Can we have the CacheFileName property editable via maxscript? This is useful when collecting and repathing assets. Thanks
  2. Hi, Is there a way to get the wind seed offset value with Maxscript? Using GrowFx 1.9.9 SP9 and 3dsmax 2020 returns an empty property when listing After Mesh Modifiers properties and Seed Offset seems to be one the missing: showproperties t.Wind .Enabled : boolean .ScaleFrequency : float .AxialRotation : boolean .MaxAngle : float .OrientForLeaves : boolean .Type : name .Looping : boolean .LoopingPeriod : time .AmplitudeMultiplier : float . .Stiffness : float .Stiffness_Graph .Flexibility : float .Flexibility_Graph
  3. I guess selecting the object and activating the Modify panel before running the script will do for the time being. If there's a better solution without manipulating the UI I'm still interested.
  4. Did more testing and created a simplified version to be able to reproduce the behavior. If the script runs while the GrowFX object is selected and the 3dsmax Modify panel is active the error doesn't occur. To recreate the error run this script in a scene with : - one GrowFX that has at least one Wind Modifier attached to any paths - no GrowFX object selected during execution - 3dsmax 2020 - GrowFX 1.9.9 SP9 ( fn removeAfterMeshWindModifiers oGFX = ( for x = 1 to oGFX.getNumPaths() do ( for y = (oGFX.getNumAfterMeshModifiers x) to 1 by -1 do ( gfxAfterMeshModifier = oGFX.getAfterMeshModifier x y if hasProperty gfxAfterMeshModifier "Stiffness" then ( oGFX.deleteAfterMeshModifier x y ) ) ) ) try(destroydialog DeleteAfterMesh)catch() rollout DeleteAfterMesh "Demo" width:280 height:100 ( button btn_1 "START" width:252.0 usePercentageWidth:true percentageWidth:90.0 height:40 on btn_1 pressed do ( if queryBox "Deleting after mesh modifiers. Are you sure?" beep:false then ( aGFX = for x in objects where classOf x == GrowFX collect x for gfx in aGFX do removeAfterMeshWindModifiers gfx ) ) ) createDialog DeleteAfterMesh )
  5. Hi, I'm getting EXCEPTION_ACCESS_VIOLATION when trying to delete all after mesh modifiers via maxscript( 3dsmax 2020 and GrowFX 1.9.9 SP9). I'm using this function - from a Rollout - while all paths are disabled: fn removeAfterMeshWindModifiers oGFX = ( for x = 1 to oGFX.getNumPaths() do ( for y = (oGFX.getNumAfterMeshModifiers x) to 1 by -1 do ( oGFX.deleteAfterMeshModifier x y ) ) ) Is there a better way to do this ? I suspect GrowFX updates the nodes while the script is traversing the paths tree and is causing this exception. Some of the error logs -- ######################################################################## -- Address: 0x329fff23; nCode: 0x00000000C0000005 -- Desc: EXCEPTION_ACCESS_VIOLATION The thread tried to read from or write to a virtual address for which it does not have the appropriate access. -- Read of Address: 0x0000000000000150 -- ######################################################################## ..... -- called from top-level -- ######################################################################## -- C++ callstack: -- (GrowFX): (filename not available): (function-name not available) -- (GrowFX): (filename not available): LibVersion -- (GrowFX): (filename not available): LibVersion -- (MAXScrpt): (filename not available): Generic::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): SourceFileWrapper::eval -- (MAXScrpt): (filename not available): Generic::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): SourceFileWrapper::eval -- (MAXScrpt): (filename not available): Generic::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): clear_error_source_data -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Primitive::apply -- (MAXScrpt): (filename not available): CodeTree::eval -- (MAXScrpt): (filename not available): Generic::apply -- (MAXScrpt): (filename not available): SourceFileWrapper::apply -- (MAXScrpt): (filename not available): RolloutControl::call_event_handler -- (MAXScrpt): (filename not available): RolloutControl::get_wrapped_event_handler -- (MAXScrpt): (filename not available): InitMacroScriptDir -- (MAXScrpt): (filename not available): InitMacroScriptDir -- (USER32): (filename not available): CallWindowProcW -- (USER32): (filename not available): DispatchMessageW -- (USER32): (filename not available): IsWindowVisible -- (ntdll): (filename not available): KiUserCallbackDispatcher -- (win32u): (filename not available): NtUserMessageCall -- (USER32): (filename not available): SendMessageW -- (USER32): (filename not available): SendMessageW -- (core): (filename not available): GetICustButton -- (core): (filename not available): CustomControl::WindowProc -- (core): (filename not available): AncestorIsCUIToolbarWindow -- (USER32): (filename not available): CallWindowProcW -- (USER32): (filename not available): DispatchMessageW -- (USER32): (filename not available): IsDialogMessageW -- (3dsmax): (filename not available): NodeAndAnims::SetNode
×
×
  • Create New...