Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by DomC

  1. Version 1.0.0


    Insert Symbol in Folder Node: 1. Move the Symbol with the input name in the folder with the input folder name 2. If folder do not exists it will be created. If no symbol name is inputted, the folder created also 3. If the folder name is taken by another object, the folder will not be created
  2. Version 1.0.0


    What is the distance of the middle top point to the insertion Point (left bottom), if your rectangle has 175.5° degrees? Not so easy calculate the move vector or the rotation for that. This node can help you to use your time for other challenges. You can place your rectangles with every standard reference Point in any angle in degrees.
  3. Version 1.0.0


    With this two nodes, we are able to set or get the parameter of an Marionette PIO or wrapper. Can be used to access the values in the OIP by script or another Marionette. The Screenshot shows an example in which every of those pillar is an own marionette PIO (Script as symbol to instance the PIO). Note: It is not possible to write the parameters via Worksheet. Also it is not possible to read Marionette Object parameters directly into a worksheet. To read Marionette object parameters in a worksheet I recommend to write data into a record format and list those values in a worksheet.
  4. Version 1.0.0


    Some Objects needs to be Updated after Changing the Object Properties. In this cases this node can help you. Reset Object.vwx
  5. Puohh Cool example ... thanks for sharing, love that.
  6. Hi @ccsw Thank you very much for that input. There is a build in function "Marionette.Is2DObject (obj)". This checkes if an Object is 3D or if an Object is 2D. 2D and 3D are handled with other functions. At the release time of the node (maybe still, I did noch checked that) this function did noch correctly sort 2D and 3D Objects. So I think I just hardcoded the line "Is_2D_Obj = True #Marionette.Is2DObject (obj)" (It means that the node always handle objects as 2D) The line should be correctly (if the marionette function was correctly) "Is_2D_Obj = Marionette.Is2DObject (obj)". A new Version of the node is uploaded. Put by Ref Point v1.0.1.vwx
  7. We all would like to see more nodes But in this case I maybe want to see womenpower invested in other nodes than a second method to create spaces (can't see a real benefit of another node) This technique is already in full use in real practice. Attached a Screenshot I got from another user which automated his complete space creation and documentation with marionette. Did nod put it exactly together but about 30'000 m2 space area.
  8. I would take the Function Node and use the formula x[:-2] (to remove the last to items of the string, or x[:-1] to remove the last one etc.). There will be other possibilities with other nodes but I first had to search the right ones.
  9. Version 1.0.0


    If you have many symbol definitions and have to link text to record fields. This Marionette can help you.
  10. Version 1.0.0


    This is an enhancement of the standard locus point, with OIP Mastersnap or not.
  11. Version 1.0.0


    This node sorts out all spaces which have a collision with one of the input objects. Can be used to detect, if a space contains a specific object. For collision points, the space polygon and the object's bounding box is used. There is a OIP dim parameter for tolerance value. The vwx contains a quick and dirty test floor plan, nothing real 🙂
  12. Seems I have somehow to trigger a change of the record format. At the moment the only workaround is to attach a new field to the record format which regenerate the info-palette popup. vs.NewField(record,'92d34ddb-8b38-4053-b688-4b3b960f5911.','0',4,0) Also tested vs.GetObjectVariablexxxx from 1 to 10000 vs.ResetObject(record) ... nothing help.
  13. @Alan WoodwellThanks for quick response Unfortunately the set Record Nodes (and the vs.SetRecordField), do not work on pupup fields without a further trick.
  14. Hi I can remember I had this issue in past. Unfortunately I can't remember and am not able to find the solution with the forum search. Somebody knows the solution? Trying to change Value from Poupup Record Field. ChangePopupValue.vwx
  15. Version 1.0.0


    "Create Symbol" creates a new symbol definition on the active document. Refresh resource manager if you create a new symbol with this node by just switch to another document and back in the resource manager. This node does not use "List absorb" so you can just insert one object into the symbol definition. Recommended to first create an empty symbol and then use "Set Parent" to attach several objects into the symbol. Create Symbol.vwx
  16. Version 1.0.0


    This Node puts objects in a parent Object (symbol, group, etc.) Inputs: 1. Handle to Object which put into a container 2. Handle Input to Parent Object (use "get Object" node to use a named container here like a symbol definition) 3. Object Info Option "Reset". Reset Bounding Box and other attributes of the parent object Set Parent.vwx
  17. Version b0.7


    This node gets points clockwise with a given minimum distance. The node has an additional option in the info-palette. Follow Deadlock means, that the hull can follow back the same points that already was used as a hull point. Deadlock off means, that a point can't be uses twice as a hull point. The Algorithm behind the node: 1. Check, which points are in range of the point most left (bounding box for speed optimization) 2. Check, which points are exactly in range of the distance value 3. Check which angle in cw direction is the smallest and connect to this point I think there would be a speed optimization possible with normalized vectors etc. So i would call this a beta version of the node. Computing the angles of the vectors takes a while if there are many points. in combination with the cluster node it takes about 17 seconds for 4200 points. Seven Minutes for 8800 points. So check number of clusters and numbers of points. The Idea was, to have a workflow for vectorize an image. This is a complexe project. Maybe it is worth to check other algorhitms with existing python external modules. But so far it works quite nice.
  18. Version 1.0.0


    The "Point Cluster"- node detects points, which are within a given distance from other points in the same scope with an own algorithm (not python 3rd party module needed).
  19. Hi Not sure, if I understand it right and not checked your example. But you could try to save your script network as a black symbol and insert it into a Marionette PIO or a Marionette Wrapper. So you would be able to link the script to a central symbol definition and this could be referenced from an other document (not tested what happens to the Marionette Object). Does that work? Script as Symbol.pdf Script as Symbol.vwx
  20. Version 1.0.0


    This example shows, how to create a record format with fields from an external csv or text-tab file with marionette. This example maybe needs the following know how which is not automatically is handled by the script: 1. Save Text with excel, open office or any other application as separated text file or tab separated text file. 2. Setup the "import txt" node-popup with the needed text encoding. Try utf-8, Latin1, macLatin_2 or other encoding to handle umlauts or special character issues. 3. The Exmaple just checks the first line of the text-file and creates record fields from them 4. The path to the text-input in the attached example is related to the document path. Save first your Vectorworks document. Or use an absolute path input. 5. No warranty or charge for this script, play first on a new file or on the attached file. I whish you success with it
  21. There is no need to write an extra node for that. CustomObjectPath-Node, do the job. And SetRecord-Node Changes the parameter. I am not sure, we talk about the same "space" object? If you simply want to create spaces from polygon, maybe "rightclick" -> Create Objects from Shapes-> Space do the job.
  22. Incredible usefull stuff! Many Thanks
  23. This works :-) But I would use an unnamed pass node to hide input/output of a named wrapper. Because If you move your network without the locus point the in-/output port will show up again.
  24. Creating a Space Object can be done with the default node "Create Custom Object Path". The Above example uses an existing space as a template. Because it is costly to change all parameter from a space objects. It is more effective to pull them from a template and just set the most changing parameter of the space objects by "Set Record Field". Attached simple example to create a new space object (with the default settings). Space.vwx
  25. @Mathias Lange The Attached Example (Copy of the original file but with different Pillow download path) works with VW 2017 Mac Version (Windows not tested, but it also should work). Submitted_Halftone_Marionette_v1_v2017.vwx
  • Create New...