Jump to content

DomC

Member
  • Posts

    605
  • Joined

  • Last visited

Reputation

572 Spectacular

About DomC

Personal Information

  • Location
    Switzerland

Recent Profile Visitors

12,220 profile views
  1. The Script was made, screenplane planar objects was still a standard. it would still work with grouped screenplane objects. It seems, that the dup-container node puts screenplane planar objects on the 2D representation of the PlugIn. And grouped layerplane planar objects were putted on the 3D component of the plugIn. If we switch on top view we can see the groupes. Thanks for sharing that issue.
  2. Hello Which Version you would need? Regards Dominique
  3. It seems to be possible also by deleting with the selection state. So far it seems to be the best option. vs.DeleteObjs()
  4. vs.DoMenuTextByName('Clear',0) OK, this would delete the Original PIO. But i am not feeling good by using a DoMenuText in this situation.
  5. Hello I have a PIO with Button-Widgets. One of them should convert the PIO in another PIO and back. Is it possible to delete the PIO with the Button at all? elif theButton == cButton6: if replace_object(): vs.DSelectAll() vs.SetSelect(GlobalValues.pio_handle) vs.AlertInform('Press delete after action to delete original object', '','') #This would work so far vs.DelObject(GlobalValues.pio_handle) #This wont work (and if it would work i think it may result in a crash?)
  6. Should still work in 2024 (tested on mac 2024 Sonoma) 1. Select Excel File (I use Version 1.0.4 from xlsx) By clicking the Button of the Pick File Node. But if this was wrong it would throw an error message. Maybe to prevent path issues copy on desktop 2. Sheet Name input. This should match to the sheet name in the excel file. But if this was wrong it would also work by taking the first sheet name. 3. Check "Confuguration Dialog" Anyway, if input of the xls import was wrong it would throw also an error. If just nothing happens, the creation of space maybe fails. The reason maybe could be there is no area value or the area value was not returnet on output. column1 is imported without area not space. Also click the debug method to see, how many areas are outputed. It is normal we have more field values and values than areas. Because the field and values repeat because to match the set Record Field Node. If we have 3 columns it return double fields as area outputs. If we have 5 columns it returns 4 times more fields than area outputs etc.
  7. This are the options: 1. Saving/having an external (excel) list and make it fits to the input list of the Marionette. In Excel we can use formulas to have a list and a second sheet whitch grabs the list just for the needed columns. Then import the external list directly into the worksheet inside of Vectorworks. 2. If you are using interiorcad, you can configure a cutting list export, which fits to the needs and then follow step one 3. There is an internal list you could define with interiorcad which writes directly to a worksheet 4. Copy/paste can be tricky, because pasting in a worksheet may fail because you had to activate exactly the range of the pasted list first, which is hard. So import is the better option. 5. At least it could be an option to make (small) adaptions to the script so that it reads the needed columns automatically of any list. Or even directly for external file more even directly from part out of the drawing without doing any export/ import steps. I think the simplest way is to export to excel, then delete the unwanted columns and import into the Worksheet with the worksheet menu. That brings me to the idea to maybe make an example which directly reads one of the standard cutting list formats of interiorcad.
  8. I think the column "Drehbar" was never implemented (In fact it had no impact if i write there 0 or 1 it just took the checkbox "Rotation erlauben" which was a global option for all materials). I improved the Script with Version 1.0.4 and now it reads the column as soon as i checked the checkbox "Rotation erlauben". This setting will take care of the column "Drehbar" (Rotateable)
  9. Hi Did not looked into your code details because i keep that theme for a time from my brane. I think the general we can take an objects entity matrix and set that entity matrix to another object. With Set- and get Entity Matrix. This is not really hard. What was always the point is, that having some points in 3D which defines a plane transferring to an entity matrix wen need for the SetEntityMatrix Script command. What i have so far in that direction: 1. A way to have 3 points and gets an VW entity matrix of 3 points. Somehow my code os spreaded over a bigger code so i do now know if exactly that works in your example. code and functions i needed there code snippeds. I would say the code here took me several hours of figuring out that easy looking code. But i think at the end it maybe needs just a few lines if it was optimated. Also the vs.Vec2Ang() solves a lot. It would be hard to find out in which quadrant the plane is oriented and the direction of the points etc.. Like i told, not looked yet into your code. This snipped worked here for getting rotation matrix from 3 points. Not sure, if it works in all directions and for vertical planes in every situation. I always thought there must be a general solution for that. And there is but on the other side we must fit it to the vw SetEntity matrix also the plane matrix are different from the rotation matrix. 2. Getting a centroid and a plane. With that we can project points on that plane (not a vw plane, a plane defined by the normal matrix of the custom getPlane Node in that example). Here: At one point everything is turning into hard work. But we still have fun 🙂
  10. Version 1.0.0

    18 downloads

    Often what is missing to make usable Elements of this geometry is the fact, that faces need to be planar to make buildable elements. Also it need to be planar to make extrudes and other solids out of it. The Two nodes "get Planes" and "ProjectPoints" are a step in this direction. This example do nearly the same the existing Surface Array already can do. Except it directly gets geometry from a subdivision object. Anyway this has to be seen as a first step trying to model hulls with planar AND closed shapes. Which looks like a very hard task.
  11. OK For some reason (my dumbness?) i convert the column "TeileName" into a number, which fails and put out an error. You can do to correct: 1. Without new version or edit the script insert a number here in Column C instead a text. 2. Or edit the script (quite easy) as following: a. Edit the PIO object b. Double click the wrapper DrawParts c. Edit Formula to c+'\\rPos. '+str(a)+'.'+str(b) instead of c+'\\rPos. '+str(a)+'.'+str(int(b)) OK, maybe a little bit complicated. I post your corrected file and a new Version 1.0.3 Thanks for reporting the issue. Werkteil Optimierung Kopie_b.vwx
  12. Initially the issue is, that putting geometry into the profile group it is centered to the mid point (Even if you move profile before you create path it does not matter, it will be centered independent from its coordinates, thats why we have to move AFTER creation of path extrude). I am not sure anymore, why i used that locus point to get offset of the profile group(if you know the offset of the reference point to the middle of the profile you do now use locus point you can just move the profile by a known value). Reseting path extrude after moving the profile inside, is definitely still necessary in my opinion.
  13. Hello Sorry kinda occupied at the moment. The vs.ResetObject(x) will do reset at the end of a script i guess. So when it it duplicated it duplicates the unreseted state of the object and converting to mesh deletets the path position which is not reseted. What you can do, is a "hard reset" by using vs.SetObjectVariableBoolean(x, 1167, True) instead of vs.ResetObject(x) As far as i notice by changing the reset node it would keep the mesh in position. Hope that works for you
  14. Hi maybe you can Link or Post your file or pm me
  15. The Message says that it tries to add a float to a string ('100mm' + 10, 'hello' + 100) etc. Maybe the type of value in the sheet is not the same like in the sheet that works? Also I think it could related to a VW update. I provided a 2023 1.0.2 to fix that issue. Uploaded a New Version, which uses "vs.ValidNumStr()" for Every cell. So if A cell contains no valid number, Vectorworks tries to convert to a number. Do you use that fresh version or an older one?
×
×
  • Create New...