Jump to content

DomC

Member
  • Posts

    604
  • Joined

  • Last visited

Everything posted by DomC

  1. 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.
  2. 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.
  3. Version 1.0.0

    88 downloads

    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
  4. Version 1.0.0

    274 downloads

    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.
  5. 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.
  6. Version 0.0.9

    550 downloads

    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.
  7. Version 1.0.0

    219 downloads

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

    131 downloads

    "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.
  9. 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
  10. 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.
  11. 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.
  12. Hello I looked into the Scripts from Marissa and Sarah and their .whl Installers are Working. So I think it is just an issue of the correct Library Installer. The .whl Installer I used, creates an error because of PIP incompatibility. And then I think the issue is, that not immediately the library can be imported. I will try Update this Stand-Allon-Installation-Nodes ca. middle next week.
  13. Just tried on Mac (10.14.6 Mojave) Did again some test with a blank user folder and Build 571107. I did the following: 1. Installed PIL with the attached Marionette Node 2. Tested to import PIL by Script or Marionette Node > Failed Module not found 3. Tried to set search-Path to "Python Externals" > Failed 4. Tried running Marionette Node with this Module > Failed 5. Renamed folder to "PythonExternals" 6. Setting search Path to that Folder in a Script > OK 7. Tested import of the Module in Script > OK 8. Running Marionette Example with PIL > OK 9. Renamed back "PythonExternals" to "Python Externals" run again Marionette Example > OK (now I am confused, maybe a caching thing) InstallPillow.mp4 Movie attached
  14. Hi Same issue here. I think the installation of Python Moduls via VerifyOrGetLib still works. I had not much time to go deeper into that problem. Spontaneously I would say, Vectorworks 2021 uses "Python Externals" as the installation Path and "PythonExternals" as the search Path or "Python Externals" do not work anymore for the Script Engine. Also it is confusing, I cant set the Folder "Python Externals" as a search Path of a Python Script. As a short fix I was able to Install all Moduls with the Marionette nodes. After That renaming "Python Externals" to "PythonExternals" and it worked. Tried this on Mac, Installed new Pillow Fork with the Node. Then Renamed the Python Externals Folder and all my old "Pillow" Examples worked here. Beside that here I have an issue, that Marionette Scripts do not "Alert" Errors. I had to thest with Text-Scripts. Hope that Workaround is able to fix it also for your Scripts. Regards import numpy scipy pillow etc v2021.vwx
  15. Hi First lets talk about what is an Object List? A List in Python ist like ['Symbol1', 'Symbol2', 'Symbol3'] Used by the any input it will produce one line for every symbol name. This ist the input, the symbol node wants But yes, we can input a List of objects. Example: This node was made to produce over 15'000 furnitures at once from an external list of objects.
  16. Version 1.0.0

    766 downloads

    Three Examples of Marionette PIOs of Circular Stairs.
  17. @Andrew Lock You have a lot of differences in your Organisation (Input Blue Symbol oder Input Control Geometry) of the geometry input. The Following rules you have to follow: 1. The Input of the Reshape node has to be a group. or a Symbol the content is reshaped 2. Only Content which are solids, (Extrude, Volume Add etc.) will be reshaped. Your content are groups. And in the groups there are 3D polys. This will not work at all. The Reshape node will ignore groups in groups from reshape, and will not reshape meshes or 3D Polys or planar objects 3. The Insertion point of the control geometry is back left. Fix the following Variante A: 1. Ungroup the group in your 3D Symbol. 2. Ungroup every group once and Volume operation Add Volume of the 3D Polys to get a solid. Remember, groups will not be reshaped. Fix Variante B: 1. Make blue symbol 2. ungroup the group in group in your symbol and change to solids Fix Variante B: Just paste the Control content (no 3D polys please) from your symbol to the control geometry directly. Group this objects. You will not need a symbol then Attached a movie with Variante A with your original Example Variante A.mp4
  18. Version 1.0.0

    131 downloads

    Importer Nodes for the most used external python packages. Tested with VW 2020 SP1, Mojave 10.14.6 and Windows 10
  19. Hi This thread is a little older. I just had to install pandas and it worked with the following script (VW 2020). Not tested on Windows. Newer Versions of pandas maybe possible but some of them requires python 3.5.3 and we have 3.5.2 embedded in Vectorworks import sys import Marionette import platform import os Usr = vs.GetFolderPath(-12) (major, minor, maintenance, platform, buildNum) = vs.GetVersionEx() if platform == 1: Path = Usr + 'temp/tempImg.png' else: Path = Usr + 'temp\\tempImg.png' vs.AlrtDialog(str(sys.version)) if platform == 2: pandas = 'https://files.pythonhosted.org/packages/9f/df/6718044777d8a76532cb219a7604606e784bf630fe724a3fec2000ce31b1/pandas-0.21.0-cp35-cp35m-win_amd64.whl' else: pandas = 'https://files.pythonhosted.org/packages/69/c2/0323c5bdb0d0b8b9e07dc96e81fb13155784a4b2d5cb1feaa110261e5ae3/pandas-0.21.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl' if Marionette.VerifyOrGetLib('pandas', pandas): pass else: vs.AlrtDialog('Modul pandas ist bereits installiert')
  20. You can try it out manually. Just Make a Symbol of your contour and make a blue symbol (In Gruppe umwandeln) in the Symbol settings. Then insert your symbol. As you can see, your contour it is a single object. The same behaviour as if you insert it in a marionette script. A good start to make a script is to have a definition of parameters and some example drawings. Also always try to find out if it is already part of standard-functionality . So you or anybody else is able to see, how complexe or simple your Programm will be. For most project you should calculate 4-5 days if you start from scratch. Maybe there is something similar already there (I remember a Frame example here, which also used symbols as a profile for path objects)
  21. We are talking about BLUE symbols, with the symbol setting "insert as group"? Or red symbols, which are containing a PIO. As Pat mentioned, a single object (polyline as example) will be inserted as a single object. Multiple Objects as a group. The Croup content you can reach easily with the Marionette Content Node. Split them with the List Explode Node.
  22. @Dod Definitely the ConvertToGroup Node converts the input to a group but there is no output (this node is junk, sorry :-). I think there is no easy and quick solution right now. I would strongly recommend using blue symbols for that what you want to do with the symbol. You can activate and rightclick all symbols in the resource browser and then "Symboleinstellungen bearbeiten" > "in Gruppe umwandeln".
×
×
  • Create New...