Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by DomC

  1. The Popup list you generate delivers 3 string variables into the network. But for a popup, you need those 3 strings nested into a list as Example ['choice1', 'choice2', 'choice3'] If you run the node without list absorbing, the input with the choice would deliver 'choice1' the first time the node runs, 'choice2' the second time etc. that's how the Marionette Data-Flow works. The node repeats as many times as one input delivers values. "list absorb", is merging all inputs into a sequence and the node just run once. So the popup there will work. But because the node run just one, your dialog run just once. you could loop through the number of dialog you want to have with the integer input you have in the node itself. Or just leave the node how it is and merge the popup into one list. I would recommend this:
  2. Hi I am close before using a custom node and I thought, this time I ask before I create a new custom node πŸ™‚ I have two corresponding data flows in two wires. I want to add items of the second wire by counting the items in first wire. 'obj1', 'obj1', 'obj2', 'obj3', 'obj3', 'obj3', 'obj3' second wire is: 'str1', 'str2', 'str3', 'str4', 'str5', 'str6', 'str7' Somebody knows how to concatenate the strings of the second wire corresponding to the count of the items in wire 1? 'str1str2', 'str3', 'str4str5str6str7' In a second scenario, I have already grouped the second wire in lists of the lenght of counts of the items in wire1 'obj1', 'obj2', 'obj3' ['str1', 'str2'], ['str3'], ['str4', 'str5', 'str6', 'str7'] I repead: It is no problem to solve that with python, but with standard nodes I need an idea. Add List of Strings.vwx
  3. Hi In you code you have: if dlogList would be 'hello' and x was 2, the result is 'l'. Your dlogList is not a List is is just a string. You can solve it this way in your node:
  4. The actual Version, is able to shift from right to left, top to buttom also. +-*/ and all parameter input names should work.
  5. Hi I think you could do the following: 1. Switch off unit in the document settings 2. Or modify the the Node "split unit from number" as following: ',' also fix the issue, when this node is used in Countries with ',' as a decimal separator. If we anytime had the possibility for voting for small things like this. Please all vote for decimal units and all vote for point as decimal delimiter. πŸ™‚
    Awesome Node. I will never want to do without it again. One Tweak I made for myself is, that when I call the symbol dialog I am able to see a preview of the last chosen symbol. Often I have no idea, how my chosen symbol looks like (because in a scripting progress I can't see already the result). With some additional lines in the node, I am able to call a preview very fast and in a lazy way. Maybe an idea for implementation if you either way have to touch the node anytime πŸ™‚
  6. Hi You could directly connect the xlsx reader instead of csv reader, this works perfectly. I would first try this one because if you have an excel File this would be the direct way (If it works, because text encoding is a real pain). By the way your worksheet for me looks like an encoding issue too πŸ™‚ Maybe not just islandic? Also the First version v2018, uses a Vectorworks Worksheet for input. This still works and you could just connect the worksheet reader instead xlsx or csv reader.
  7. Version 1.0.0


    This Script is made to made separate objects from geometry which is nested in PlugIns or Symbols. Those could be uses for special usecases. The Script is criteria and class based. So it would be necessary the nested geomtry is in a seperate class. The Script uses 3 Criterias 1. (left) The Input PIOs or Symbols by a free criteria 2. (middle) The class which contains the required objects we want to extract 3. (right) The Criteria for deleting the "debris" of the scripts. Which is selectable by class of the source PIOs/Symbols and deletes everything which are groups inside of this class (it deletes not the source objects, because those are symbols or PlugIns) This is also a possible method to ungroup things. Many ungrouping workflows do not work with Marionette, because the ungroup script command does not create handles to the resulting objects. But the group after ungrouping will be in the same class as the source objects. So using classes could be a workaround to catch the results by a second criteria. Not noble, but it works πŸ™‚ Use is on your own risk and in a copy of your project (like always) This Script is made for troubleshooting special requirements by resorting geometry for IFC Export.
  8. New Version is available you can directly enter the unit for the aria as a suffix
  9. Hello I think, there is an issue, that red symbol or symbols cotains Marionette networks and the symbol was edited last in another layer scale then it well be interted the network ist disconnected. Not looked deeper in this but this seems that this could be the issue in this situations. It seems already reported as a bug.
  10. Hello Nice Antonio, great Page πŸ™‚ Alternatively in the new Version 1.0.3. there is a Node "Get Field Names", which can show you the localized and universal names of record fields.
  11. Hi The Rotation Vector is the issue. Just disconnect or 0,0,0 Vector and it will draw the rectangle
  12. Version 1.0.0


    If NetVolume of Wall components has to be written in a custom pSet (if this is a special requirement), this Network maybe provide a solution. Note: If you export Base Quantities, you get component volumes exported. Which is the normal-case to export the component quantities. What does the Script(s) do: 1. The first Script creates record fields for every component Name exists in the Document (Walls have to be in the drawing, not just as a style). 2. The Second Script gets Wall component NetVolumes and writes it in the Record attached to the Wall for every component Name. 3. So you are able to use the Data-Manager to attach this component informations to the Wall Body and be able to export is as a Custom pSet to ifc (if this is a requirement in a specific project)
  13. Hello The Content-Node "groups" the Values in List sequences (to be able to get groups in groups). In your case, just use the "flatten-Node" to get single values instead of a list-sequences.
  14. Hi Good idea. Unfortunately it does not solve the problem. You can get True and False for the same object type if it on is aligned by screen plane or by layer plane. As example a PDF is type 86 and should be moved with 3D command (I guess). But if it is aligned screen plane (sheet Layer) it would be marked (by checking this Object Variable instead of Object Type) as an object which have to be moved with the 2D Command.
  15. Version 1.0.0


    The standard behaviour of the extrude along path tool is to center the profile on the path and after creation we are able move it. This works pretty good. If we use the extrude along path node, is is not so easy to move the profile group after creation. This example shows how to do. 1. Put a 2D locus point in your (blue) symbol as a reference point and put it in the background (cmd/ctrl + B) 2. the script will measure this point and after creation of the extrude along path it will move the profile group Specials: - A custom node to get the profile group of the path - A custom node to reset the extrude along path object after moving profile group
  16. Version 1.0.0


    More and more projects with a high level of individual control or a high level of geometry detail were created in 3D. The leading modelling and scripting capabilities keeps Vectorworks the best choice for BIM models. We have the best tool to make more than just the standard. This Example shows how to parameterize a "hand design" Geometry of a beautiful Door.
  17. Hi Related to the Marionette Command, which do not support PDFs on Screen-Plane: This Command uses the Technical speaking this is not ab bug in the script it is a limitation(or bug, sometimes it is not so clear) in the Move-Node, wich was not my idea πŸ™‚ If you put your PDFs on Layer-Plane instead of Screen-Plane (which is hardly recommended) the PDFs will move. To have a working Script for Sheet-layers I provide a 2nd Version, that just move every Object as a 2D Object. Which can be used on Layouts. But maybe will fail on Design-Layers which some Object Types. I want to avoid making an own Version of the MoveNode. Regards DomC Background: Internally there are two commands to move Ojects. For some objects this is "vs.Move3DObj()" for other objects this is "vs.HMove()". As example you can't move a 3D Object with "vs.HMove()" and can't move a planar Object with "vs.Move3DObj()". The Standard-MoveNode (which the Script uses) has a function which sorts the Objects in "3D-movable" and "2D-movable" Objects. This Funktion is called "Marionette.Is2DObject()". And this function has the limitation, that not every object Type on every alignment combination(Screen-Plane, Layer-Plane ) is supported. However, I will commit a report related to the Move-Node. Viewports on screen-Plane and PDFs on Screen-Plane ( on Sheet-Layers we are on Screen-Plane) should be supported. Thanks you very much for reporting this! Further Details: The Function which sorts the Objects in "2D moveable and 3D moveable": def Is2DObject(h): t = vs.GetTypeN(h) result = (t >= 2 and t <= 6) or t == 8 or t == 10 or (t >= 12 and t <= 14) or t == 17 or t == 21 or t == 22 if t == 11: obj = vs.FInGroup(h) while ( obj != None ): if Is2DObject(obj): obj = vs.NextObj(obj) result = True else: result = False break return result The code say, that it is 2D if it matches any of the critieria after "result =". Else it will moved by 3D Command. As far as I can understand it. A PDF Page is Object Type "86" (PIO) which then will have the Value Is2DObject() == False. And the Node will try to move with 3D-Command which do not work. Also I think in older Versions of "Is2D" a group just will move with the 2D-move which maybe works in your Situation. Related to the Menu Command: I heared this is already reported and should be fixed in next SP.
  18. Version 0.0.9


    This Example shows a Marionette Object, which contains a Vectorworks Worksheet. By clicking "Update" Button in the OIP, the Marionette pulls automatically the new values out of the linked xls sheet. Short Manual: 1. Import first The Worksheet in Vectorworks 2021 2. Create a blue symbol (insert as group) that contains the worksheet 3. Fill out Worksheet Name, Symbol Name, and File Path (Pick File Node) Known Limitations: - I see it as a fun-gadget - It will not enhance the VW Worksheet if new rows are added in the linked xls. - It will not make the VW Worksheet smaller if rows are deleted from the linked xls. - It is based on the import xls from 2021 and it will update just values. No Format etc. will be updated.
  19. Version 1.0.0


    This Network shows how to create fields from an existing xls or txt file.
  20. Version 1.0.0


    "XLS Get Values"is to read Data directly out of a XLS Sheet. The Smaller Nodes "XLS GetSheetNames", "XLS GetSheetInfos" are additional Nodes which are not essentially. use cases: Everywhere you want to get Data out of an XLS File instead a Textfile. Special Features: 1. If file Input is wrong the node will do nothing (no crash πŸ™‚ ) 2. If the sheet name is wrong it will import first sheet 3. If start/end is empty, it will return the complete sheet.
  21. 1. Shift the Geometry by half of the Parameter, so the object would keep his middle 2. For Calculation Extract the Input Parameter with Get XY. Also to could feed the input Parameter with Point 2D If you don't want to show Parameter Name
  22. Hi @elepp Hi If you put the complete Symbol into the Node, it will "flatten" the geometry inside of it. You have to Make a blue Symbol. Then attach the IFC Date to the PIO container with the Parent PIO Handle. Like this: If you just want to have the Object is an IFC Object without any Detailed Informations, you could map IFC Informations with the Datamanager class Object.
  23. Hi @Niels Timmer The input of the node has to be a group. You don't need to ungroup before. The Issue seems not bei have a solid Operation inside of the Control geometry. Seems the issue is, that the Node does not handle the "One Big Volume" of the vertical Frames by reshaping the z- direction. I think it is a "Bug" in the Node or a "Limitation". I would suggest the "Workaround" to have two seperate vertical Frames (extrudes, Volume Substraction etc. does not matter). I am not sure where the error is. I am sure, that I have examples with Glass inside and also this is "One Big Volume" so it should work but not in this example. Also there seems to be different Versions around of the Node. I will look into the node and maybe provide a new Version maybe in some month, when I have a little more time.
  • Create New...