Jump to content

VectorGeek

Member
  • Posts

    227
  • Joined

  • Last visited

Reputation

3 Neutral

1 Follower

Personal Information

  • Occupation
    Geek
  • Hobbies
    Bowling, Pasta Art, Archie Comics, Luncheon Meats
  • Location
    Earth

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thanks Josh - that's pretty much what I thought. Strange regression - I will buglist it. V-G
  2. Hi Raymond: Thanks for your response. Yes, interactive mode is set to "multiple object" mode. Multiple Reshape does work, so that is a good option. Interestingly, if I try the stretching process with an NNA linear PIO (say, the "Clothes Rod" for example), it works fine. So it must be something in our custom PIO. The only difference I see is that our PIO is not "Event Based". When I turn that parameter on, the thing goes quite wonky. I have no experience with event-based objects. V-G
  3. We have numerous customized PIOs that we use daily. Some of them are "linear" objects, such as a grid bubble with a line extending off it. In previous versions of VW, our users could select multiple instances of this object, drag one line end, and all line ends would follow (similar behaviour as if one selected several 2D line objects, and stretched one). That functionality seems to have gone away in VW2021. Drag one and only it moves - the others stay put. Not sure if this is a regression, a setting I am missing, or perhaps if the PIO needs additional work to make this happen. Any input would be appreciated. V-G -- Vectorworksing since Clinton was el presidente.
  4. Does this do anything that the Eyedropper Tool doesn't? V-G
  5. Great ideas - thanks Julian and Pat for the value input. V-G "All we are is dust in the bin"
  6. Is there a way to get the orientation (AKA flippification) of a symbol in a wall, and change it using VS? Asking for a friend. V-G "Vectorscripting since 1865"
  7. I have a path PIO that I use for measuring specific areas and would like to modify it so as to have a second, controllable path inside the first. The inside shape may take on a different path than the outside one (see example herein), but could start by default with a fixed offset. Ideally, when using the reshape tool, handles for both the inside and outside handles would appear allowing me to edit either. This is slightly different from a donut object (as one would create by using Clip Surface), because I need to track the areas of both the inside and outside shapes, as well as turn on/off the lines that define the two shapes and control their respective graphics. Not sure if this is possible as the basic function (GetCustomObjectPath) seems to only be able to create a single path. Any creative ideas and input would be welcomed!! V-G.
  8. Yup that's it. Creating a second external reference would make those layers have an NNA#2_ prefix. A third references's layers would be NNA#3_ etc.etc. Confirmed by test file. So that explains why you saw NNA#7_ and I saw NNA#1_. VG
  9. Hi michaelk: I am running Vectorworks 2019 SP 5.3, Mac OS X Mojave. I duplicated the DLVP several times and ran the command - still coming up as NNA#1_. I'll try creating a new DLVP with different layers, and from a different referenced file. Perhaps the number increments in that case. Will report back. VG.
  10. michaelk (and Pat!): This is MASSIVE, and solves my issue as posted (and reposted) over the past years: The "hidden prefix" means that I can control the layer visibility within DLVPs with VectorScript, and that will save us considerable bloat in our files (ask me and I can explain). One interesting note is that when I run Pat's script, I get a response that DLVP layers have prefix of NNA#1_ (not NNA#7_)...wondering if that was a typo or if there is some more mystery here...?? Thanks for this. I have been struggling for some time to get this working!! V-Geeque #gowisconsin
  11. Kevin (or anyone else): Were you ever able to find out if it's possible to access layers within a reference DLVP? I have tried a lot of prefixes with NNA_, but nothing has worked yet. V-G.
  12. Many many thanks Nicolas and Josh. The assigning of the global variable "h" to a new variable works perfectly! V-G.
  13. Thanks Nicolas - I'm still confused however. If I declare h:HANDLE in the main procedure, isn't it available throughout the entire script? How would you recommend that I setup the handles in the sub-procedures then? V-G
  14. Hey y'all: We have a custom Path PIO that we use to track various areas (unit overall, storage, balcony) for apartment units. So that I can create a database worksheet that summarizes all the areas, unit by unit, I am working on a command that posts the areas from two small path polys to a larger path poly. The user would run this command before recalculating the database worksheet. I'm using a few ForEachObject() procedures (one in the main procedure, and two in a subroutine) to cycle through the objects, looking for a match by "unit number". Here is the code: Procedure bindareas; VAR h : HANDLE; hProcessStorage, hProcessBalcony : HANDLE; TheUnitNumber, StorageArea, BalconyArea : STRING; Procedure process_storage (hProcessStorage : HANDLE); BEGIN IF GetRField(hProcessStorage,'VG-Area Poly','unitnumber') = TheUnitNumber THEN BEGIN {get the storage area and post it to the source object} StorageArea := GetRField(hProcessStorage,'VG-Area Poly','calculatedarea'); SetRField(h,'VG-Area Poly','boundstorage', StorageArea); END; END; Procedure process_balcony (hProcessBalcony : HANDLE); BEGIN IF GetRField(hProcessBalcony,'VG-Area Poly','unitnumber') = TheUnitNumber THEN BEGIN {get the balcony area and post it to the source object} BalconyArea := GetRField(hProcessBalcony,'VG-Area Poly','calculatedarea'); SetRField(h,'VG-Area Poly','boundbalcony', BalconyArea); END; END; Procedure do_me (h : HANDLE); BEGIN TheUnitNumber := GetRField(h,'VG-Area Poly','unitnumber'); ForEachObject(process_storage,((NOTINDLVP & NOTINREFDLVP & (R IN ['VG-Area Poly']) & ('VG-Area Poly'.'polyclass'='Area-Storage')))); ForEachObject(process_balcony,((NOTINDLVP & NOTINREFDLVP & (R IN ['VG-Area Poly']) & ('VG-Area Poly'.'polyclass'='Area-Balcony Open')))); END; BEGIN {main} ForEachObject(do_me,((NOTINDLVP & NOTINREFDLVP & (R IN ['VG-Area Poly']) & ('VG-Area Poly'.'polyclass'='Area-Strata')))); ResetObject(h); END; Run(bindareas); When I run it, it works, except for the posting of values to the main Path PIOs (the SetRField() procedures). In the subroutines “process_storage” and “process_balcony”, I am getting an error in the debugger that the handle called “h” is NIL so it doesn't execute the SetRField() routine. I don’t really understand passing handles to subroutines very well so I think it’s probably something simple. Any help would be greatly appreciated. All the best, V-G
×
×
  • Create New...