Jump to content

HebHeb

Member
  • Posts

    85
  • Joined

  • Last visited

Posts posted by HebHeb

  1. when operating with nurbs curves (my go to when creating solids inside marionette) some things to mind:

    - for closed curves take the first point and use it at last point also (otherwise they are not "closed")
    - use the "loft surface" node to generate solids (get familiar with the settings (rule, solid, close, ...)
    - chek the order of the curves and their point direction (with the data flow nodes everything is possible)

    • Like 1
  2. i guess this is something basic, but never did this with marionette:

    i have a list of points that looks something like this (points for each poly)

    image.thumb.png.e44ed7a099f752ab5c28e5748597a0fe.png


    i want to triangulate each poly separately and not the whole polys together... so i need a flattened list for each 'list' and not the whole list flattened.

    image.thumb.png.9e95ea6c0b27c176b84cf1f968b683b3.png

    can anyone help me? thanks!

     

  3. 1. not very complex, some nested math... squences, ranges, series,... recalculating z-height of polys etc... graphically: no
    2. of course only the dedicated gpu active

    As said: just curious if maybe more "generel problem" acoss other hardware configurations. Might have a chance to test on a system with dedicated gpu only next week...

  4. Hey there,

    i have some Networks/ and or Marionette Objects that crash my Windows 2024 Update 3 Installation of Vectorworks, on MacOS everything just works fine and as expected.
    I have already sent a test file to my local Distributor and they said that the issue was now reported to Vectorworks Inc.


    I also experience much faster response of Marionette on MacOS than on Windows... even my "slow" M1 with 16GB RAM (13" Pro late2020)  is oddly faster than my i9-12900H, 64G RAM, RTX 3060 (Laptop GPU) Windows Machine. Wouldn’t expect such huge differences with that hardware.


    So out of curiosity: Anyone else in this community having similar trouble?

  5. had some time to work on this again...

    Whenever I operate on the resulting "VW-Handletype: 86 Plug-in object" (in this case convert to 3d polys > mesh) the movement of the profile is lost (happens with any operation (also bool)

    unfortnetly there is no info for 3D Path Plug-in Object (86) on the developer page that might help me to sort it out myself...


    @DomCHave you any idea how I cloud avoid this behavior?

    Extrude along Path with Ref point (3D Path Plug-in Object - Handle Type 86).vwx

  6. FYI. Found a working soloution:

    In some cases (i.e. when using a rectangle as path) i had to ungroup twice to get the 3D poly handle.

    image.thumb.png.9ac4605e0e0afcdfa64a45863717c2c7.png

     

    @Marionette.NodeDefinition
    class Params(metaclass = Marionette.OrderedClass):
    #APPEARANCE
    	#Name
    	this = Marionette.Node( 'Send to DTM Surface' )
    	this.SetDescription( 'sends object to DTM Surface' )
    
    	#Input Ports
    	hPath = Marionette.PortIn( vs.Handle(0), 'hPath' )
    	hPath.SetDescription( 'the input path' )
    	hLayer =  Marionette.PortIn( 0 )
    	hLayer.SetDescription( 'the layer containing the DTM' )
    	iTINType = Marionette.PortIn( 0 )
    	iTINType.SetDescription( 'A number identifying the Site Model surface (0 = existing or 1 = proposed)' )
    	
    	#OIP Controls
    	
    	#Output Ports
    	hPathOUT = Marionette.PortOut('hPathOUT')	
    	hPathOUT.SetDescription( "the resultung elevated path" )
    	
    	#BEHAVIOR
    	
    def RunNode(self):
    	#inputs
    	hPath = self.Params.hPath.value
    	hLayer = self.Params.hLayer.value
    	hDTMObject = vs.DTM6_GetDTMObject(hLayer)
    	iTINType = self.Params.iTINType.value
    
    	#script
    	vs.DTM6_SendToSurface(hDTMObject, hPath, iTINType)
    	vs.Locus(0, 0)  # Create a dummy object
    	dummy = vs.LNewObj()
    	hPathOUT = vs.PrevObj(dummy)
    	vs.DelObject(dummy)  # Delete the dummy object
    	
    	#outputs
    	self.Params.hPathOUT.value = hPathOUT

     

  7. Thanks for your reply.

    Now the Python example makes sense ;D
     

    _, _sPIOName, _hPIO, _hPIORecord, _hWall = vs.GetCustomObjectInfo()  # Get info from current PIO instance
    _hPath = vs.GetCustomObjectPath(_hPIO)
    _hDTM = vs.DTM6_GetDTMObject(vs.GetLayer(_hPIO), False)  # Get Site Model on the PIO's layer
    _hPoly2D = vs.HDuplicate(_hPath, 0, 0)
    _b = vs.DTM6_SendToSurface(_hDTM, _hPoly2D, 0)
    vs.Locus(0, 0)  # Create a dummy object
    _h = vs.LNewObj()
    _hPoly3D = vs.PrevObj(_h)
    vs.DelObject(_h)  # Delete the dummy object


    I kind of failed like shown above, but with waldo in my mind i'll give it another try 😉
    But anyhow, I hope someone can sort it out 
     

  8. Hello,

    I somehow can't figure out how i get the "resulting" object when using "VS:DTM6 SendToSurface"

    there are some comments on developer.vectorworks.net:

    Quote

    Ptr [2020.09.14]:When applying this call on a 2D object, that 2D object gets converted into a 3D polygon. The handle to the 2D object will not be linked to this 3D polygon. "vs.LNewObj()" will not return the handle to the 3D polygon.

     

    vs.LNewObj() doen't seem to give the handle to the desired result...
    i am really no expert in creating my own nodes, so please be patiend ;D

     

    ...see attched file


    maybe @Marissa Farrell can sort this out. the "send to surface" operation seems to work, i just can't get the output handle-

     

    @Marionette.NodeDefinition
    class Params(metaclass = Marionette.OrderedClass):
    #APPEARANCE
    	#Name
    	this = Marionette.Node( 'Send to DTM Surface' )
    	this.SetDescription( 'sends object to DTM Surface' )
    
    	#Input Ports
    	hPath = Marionette.PortIn( vs.Handle(0), 'hPath' )
    	hPath.SetDescription( 'the input path' )
    	hLayer =  Marionette.PortIn( 0 )
    	hLayer.SetDescription( 'the layer containing the DTM' )
    	iTINType = Marionette.PortIn( 0 )
    	iTINType.SetDescription( 'A number identifying the Site Model surface (0 = existing or 1 = proposed)' )
    	
    	#OIP Controls
    	
    	#Output Ports
    	hPathOUT = Marionette.PortOut('hPathOUT')	
    	hPathOUT.SetDescription( "the resultung elevated path" )
    	
    	#BEHAVIOR
    	
    def RunNode(self):
    	#inputs
    	hPath = self.Params.hPath.value
    	hLayer = self.Params.hLayer.value
    	hDTMObject = vs.DTM6_GetDTMObject(hLayer)
    	iTINType = self.Params.iTINType.value
    
    	#script
    	vs.DTM6_SendToSurface(hDTMObject, hPath, iTINType)
    	### hPathOUT = ###
    	
    	#outputs
    	### self.Params.hPathOUT.value = hPathOUT ###

     

    HebHeb_send to DTM Surface.vwx

  9. again I ran into troubles lately.
     

    Especially with projectsharing…
    What I also noticed: when I import a Marionette Object (style) out of the resource Manager some nodes loose their connection… (but not always… thats the funny part…)
     

    What always works: copy paste from file to file…
     

    I save every network as style, so I can always replace the „inside“ with a working „backup“. the only workaround that works for me at the moment.
    Also I try to place every Marionette style before setting up the projectsharing file.
    For now I stopped using projectsharing in projects where i relay heavily on marionette objects… (no fun solution when busy teamworks is needed)
     

     

  10. On 11/5/2023 at 8:08 PM, Letti R said:

     i think so.

    Not always. Texture was applied for objects that wehre converted from 2D to 3D out of the control geometry. (so they had texture info from the beginning via class),
    For 3D geometry that was created inside the MO i had to manually assign texture (even after the class should have automatic texture assignment)
     

    My workaround was:
    I created a „dummy“ texture that got color from the attribute palette and assigned this specific texture for that geomety with missing texture to get at least the class solid color (and in my case transparency) via class.
     

    Was also missing a native node as OP.

  11. Hello there,
    it would be nice to have a native node that operates with the DTM.

    Input:

    • Site Model (via Location on Layer - handle Input via obj by criteria ?)
    • State of the site model (existing/proposed)
    • x/y-Value

    Output:

    • z-Value


    btw: I am aware of the possibility right now 😉

    https://developer.vectorworks.net/index.php/VS:DTM6_GetZatXY
    I don't come from a scripting background, and never feel comfortable (or future proof for version updates) when I create my own nodes...

    Cheers!

  12. hey there,

     

    can someone explain how I could use the Strip Node whilst using repeating "sub-parts" of the"substring

    example:
    string Input is:

    TestStringStripFriend-From Test ("From" should stay)

     

    Strip Operator is:

    TestStringStripFriend-


    result is:

    om Test ("From" should stay)

     

     

    result should be:
    From Test ("From" should stay)

     

    grafik.thumb.png.c1af0d4ee9681b4b25febe86560045dd.png

    Anyone? Cheers!

×
×
  • Create New...