Jump to content


  • Posts

  • Joined

  • Last visited


349 Spectacular

Personal Information

  • Location

Recent Profile Visitors

6,180 profile views
  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:
  • Create New...