• Content count

  • Joined

  • Last visited

Community Reputation

17 Good


About JBenghiat

  • Rank
    500 Club

Personal Information

  • Homepage
  • Location
    NY, NY
  1. Can you be more specific about the objects onto which you are trying to map and the problem you are having? Or is the issue with the 3ds export? What you describe should be possible, so we need a little more information on the limitations you are finding. -Josh
  2. One option is to just use a texture. Depending on what you need to show, a texture with an image-based bump shader is a really easy way to simulate an organic texture. The bump shader allows the texture to respond to light accordingly. The loft is a little like a multiple extrude, , but you connect 3D spline curves instead of planar profiles. Subdivisions take a little more time to model, but allow for very organic shapes. -Josh
  3. That makes sense. Names have to be unique and unused, even if re-naming an object with its own name. If you run the script once, you have already assigned the name to the objects, and you will get errors in the second run. You can check to see if an object already has the name before assigning. You should also check that the proposed name is unique -- Name2Index = 0 -- and decide what to do if the name isn't unique. -Josh
  4. Prior, Vectorworks wasn't sending escaped strings to the scripting engine. While this was nice for line breaks, having a text field with, say, an apostrophe could break a script. -Josh
  5. I believe the size of the gobo remains constant, so the field angle will determine the distance from the gate. If you have a narrow angle and a relatively short barrel, that probably would produce the results you're seeing. -Josh
  6. 3D geometry for a Lighting Device symbol usually has a 3D locus at the tilt pivot point of the light. I believe that this is where the render light gets placed, and the gobo at the appropriate distance to cast a shadow on the beam. See the following: http://app-help.vectorworks.net/2017/eng/index.htm#t=VW2017_Guide%2FLightingDesign1%2FLighting_Instrument_Specifications.htm HTH, Josh
  7. There's also ThreePtCenter(), and then get the distance between the center and one of the points. -Josh
  8. Oh right, this got restructured a bit. In the current SDK, the values are now in MiniCadCallBacks.h, starting around line 5442. It's a little harder to read -- you want the values assigned to each kaction. The comments will help describe what the events are for. Note, not all events get sent to vs. Here is a list of key constants to get you started: kResetEventID = 3; kParametricPreference = 4; kObjOnInitXProperties = 5; kObjOnSpecialEditID = 7; kObjOnObjectUIButtonHit = 35; kObjOnReshape = 9; {kObjOnDM_## events will be sent inside kObjOnReshape for VW 11.} kObjOnWidgetPrep = 41; {You'll need to include "vsoSetEventResult (-8);" at the end of the event block.} -Josh
  9. Unless your script is meant to change document defaults, I find you want to use as many of the handle-based calls as possible. So instead of using TextSize() before creating text, use SetTextSize() on each newly created text block. I'll usually write a function, taking a handle as its argument, to properly format each text block. Also, remember that Python does define variables based on their initialization values, so if you're setting the text size by a variable, that could introduce rounding. -Josh
  10. Hi Gonda, Your best option is to download the SDK and look for the MiniCADHookInf.h file. (Going from memory, so forgive me if the file name is a close match). This will contain the constant values relating to PIOs. (Any constant values are shared between the SDK and vs). The only event need to include is OnReset, which is where you draw your main geometry. OnInit also runs for every plug-in (once per session unless you are in developer mode), and this is where you enable the other events, like state changes, widget prep (drawing the OIP), button events, etc. -Josh
  11. I believe Tomcat has a dwg of this on their site. Note that the Dance Tower has adjustable ladder bars for hanging, so you would need to do some customization. -Josh
  12. Ah, Python was introduced in VW 2014. Sorry I missed your version number. With 2014 forwards, you can create scripts entirely in Python, or run Python commands from within VS. -Josh
  13. Date() pulls from the system date format, which can vary with system and region settings. Your best solution is to use the date functions inherent in Python, which are a lot more granular and reliable. If your script is simple, converting over isn't bad, or you can call Python within VS to deal with the date. -Josh
  14. Are you changing the symbol name or a record attached to the symbol instance? If the latter, just use Text>Find-Replace Text... Select Replace All and Look in Record Fields. Replace "1." with "A.". -Josh
  15. The Flattened option displays the section as a 2D object that you can then incorporate into a 2D workflow. You can also select an option to show the viewport in hidden line mode regardless of your render settings -- a little like AutoHybrid for sections. These are only options for Design Layer Viewports, as Sheet Layer VPs are always flattened. With the option off, you get a 3D model, aligned to the ground plane, cut along the section line. It's as though you took a band saw to your model, and you can still manipulate and render the remaining portion. -Josh