Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by DomC

  1. Fantastic Julian this is a very reliable solution, Thank you. I implemented this way: dim = vs.FSActLayer() def GetDimAngle(h1): h2 = vs.FIn3D(h1) DimAngle = 0 while h2 != vs.Handle(0): if vs.GetTypeN(h2) == 2: BOOLEAN, style, angle, size, width, thicknessBasis, thickness, visibility = vs.GetObjBeginningMarker(h2) if style: DimAngle = round(vs.HAngle(h2),0) h2 = vs.NextObj(h2) return DimAngle DimAngle = GetDimAngle(dim) vs.AlrtDialog(str(DimAngle))
  2. Dimension Direction.vwx Hello I am able to check if a Dimension is vertical or horizontal with direction = vs.GetObjectVariableReal(dim,value) On my mac version, it returns 0 for horizontal and 1.0 or -1.0 for vertical Dimensions. Unfortunately this seems not to work on Windows. There is always 0.0. I could test if xDiff is bigger than yDiff (of the Dimension Points) an decide it is horizontal but this can result in errors with some dimensions. Anyone has an Idea to get that information reliable?
  3. What about this: def IsTagged(h): result = False; num = vs.GetNumAssociations(h) assH = None assKind = None value = None i = 0; while(i < num and result == False): assH, assKind, value = vs.GetAssociation(h, i); if (assKind == 37): result = True; i = i + 1; return result, assH; This would help finding Tagged Object. This was some I found in the Forum here. It works in a Marionette Object, which is inside a DataTag to find the tagged Object. So I think you could loop all Objects and check with vs.GetAssociation() type 37. Then you have the Tag and could check the Kind of Tag.
  4. I was able to reproduce the "freeze" on my computer also with VW 2020 and VW 2021. It seems it freezes by wrapping the Network to a Object Node before the code runs. So the Code is all right, it is the Wrapping-Technique, which produces a problem. I will submit a Bug for that. I deleted the empty pass nodes and deleted the name of the Wrapper of the Worksheet Wrappers. Those Wrappers and nodes produces empty outputs in the network, which maybe is results the appHang. New Version 1.0.1 of Worksheet Input Example Created for Vectorworks 2020/2021
  5. OK Just tested that application. 1. Import units should be set in the settings to mm 2. The sheet(board) must be added or imported by dxf So far, then it works. It seems to be a try and error algorithm, because it uses quite a while. Would be nice, to have a tool like this directly implemented in Vectorworks (also something, that can be handled by script/marionette) Source code nesting algorithm, seems to be java:
  6. Cool Spontaneously I would say, It has to go this way since we have no other Marionette: 1. Unfold (Extracting Tool) Click on every shape and extract planar shapes 2. Put them on screen-plane (Infopalette) 3. Or alternatively there would maybe be a quite simple script to put every shape on a different layer (maybe not, because the pathes may be NURBS and they are not CNC-compatible) 4. Next exporting DXF and (I don't like to say) import it in an other software to nest those polys. maybe this one, looks free and looks at it runs on macintosh: https://deepnest.io/ just downloaded it looks promising good! Edit: Seems that every DXF have to be imported one by one manually. Also it needs some settings (units). Did not testes, It did not work after one Minute. 5. Some CNC-CAM-Software could automatically extract your 3D Model (export Parasolid) The really cool thing would to have a poly-nest similar to the rectangle-nest. There is open-source-code for this available so it would not be a project from scratch. Also this would allow us, for automating the complete process. That would be my next project if I would find the time because that is also a kind of project that is interesting for me.
  7. Hello Aha, you really take the Original File. So the issue could be related to the following: 1. Platform (Mac Win) 2. Country-Settings (dezimal seperator is point here) 3. Vectorworks Version (I have German SP4) 4. Program Settings (more or less Standard) Ah see the issue while I am writing here. On my windows computer it hangs since over a Minute. Seems to be the issue can be confirmed on windows here too. Thanks, I will update for any news.
  8. This File "WorksheetInputExample_v2" (without any changes) runs without issues here in 2021. Can you attach your File here?
  9. Ahm ... good found I provided a new Version (1.0.4) which handles editing of the space boundary different and this seems to work (hope for many years :-)
  10. Thank you. I wonder, why the most usefull things always have the lowest rating here 🙂 Using Rectangles instead of Space PIOs could make definitely sence. To have rectangles instead of Spaces you could modify the script as following: 1. Create a Symbol with a Rectangle inside and link it to your record format. So you save that part of setting record to objects and tagging objects by script. You can Tag the Rectangles at the end with the "multi-Tag-Methode" 2. Modify the brown Wrapper like this. It would result in a much more simple script 3. Then you have to edit the "Set Record Field" part of the script with your own record name instead of "Space". Other Options also possible but I think this is the most easy workflow.
  11. Hi Green is a Page Bases Symbol. Red is a Parametric Intelligente Object (a space or a DataTag as example) The Other Point (switching between Styles) I can't reproduce. The Data are transported (if unstyled Field) from one Space to the other and Back. Switching Space Style.mp4
  12. Hello The Object looks here as it should. So the crunchpoint will be, what is the difference between the attached file and the files you have issues with this object. I would check the following: 1. Distance to the drawing center (Vectorworks origin) 2. Model view on? 3. If you delete all other objects out of the model how your Marionette looks then 4. If the Object looks like the left picture. Will it look all right after refresh, reopen the file or copy paste on another layer or copy paste to the origin. Or does it not work at all so it cal be reproduced always or just after working a while?
  13. 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:
  14. 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
  15. 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:
  16. The actual Version, is able to shift from right to left, top to buttom also. +-*/ and all parameter input names should work.
  17. 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 🙂
  18. 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.
  19. 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.
  20. New Version is available you can directly enter the unit for the aria as a suffix
  21. 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.
  22. 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.
  23. Hi The Rotation Vector is the issue. Just disconnect or 0,0,0 Vector and it will draw the rectangle
  • Create New...