Jump to content

Sam Jones

  • Posts

  • Joined

  • Last visited

Everything posted by Sam Jones

  1. I'm pretty sure you will need to do this with a command and put it in a workspace with a keystroke. With a tool, you're going to have to select the tool and then click somewhere to activate it. While I have created point and path objects and tools to place them, I have never created a pure tool, something that acts on something else, so maybe there is a way, but I'm pretty sure you will need a command.
  2. I have attempted to do this, but it is surprisingly difficult.
  3. I try to put the suffix " Class" on all my class names.
  4. Another shameless plug. Using the the AutoPlot Tools for Spotlight command to place accessories will automatically assign the fixture's unit number to the accessory's unit number. This, of course, assumes that the fixtures are already numbered. https://autoplotvw.com
  5. I tried it, and I see what you see when I reshape. I'm not going to worry about it. That's a bug. However, when that happens, type a 0 into the Part 1 of the cable that screwed up and it will recalculate to make just one part unless the path exceeds the length of the longest available inventory. I won't be worrying about the bug; I use AP Cable Tools. Yep, "Universe" is not what you think it is. "Universe" is setting in the DMX system. The highest DMX setting is 512 (1-512) (actually, 0-511, but that is going to take us deeper into the weeds than we need to go). Each universe in the DMX system can hold 512 numbers: Universe 1 (1-512), Universe 2 (513 -1024), Universe 3 (1025 to 1536), etc... One DMX cable can only carry signal for 1 universe, but that can be any universe. CAT5 cable can carry signal for multiple universes. So, that brings us to ask what are you trying to accomplish? Cabling the data for lights is an elaborate process that takes into account different amount of addressing per lighting unit, different lights use different amounts of DMX address. All of this is best left to the Master Electrician, Production Electrician, or a pissed off Lighting Designer. The cabling is based on the address consumption needs of different lights around the room. I don't know what your project is like, but it will take very little time at all for addressing and cabling lights to get beyond your expertise. I think this part of the conversation is best continued privately. Correct. I haven't tried it, but the Spotlight numbering command might be able to assign numbers to cables. I just tried it and the Spotlight numbering command will put cable IDs into the Cable Run ID field of selected cables.
  6. BTW, by "I will remember you fondly", I meant I'll never hear from you again. Best of Luck, s
  7. You are absolutely right, and that is what happens in the drawing I create. Does this happen when you open a new drawing and immediately draw a 56'4" cable? If it does reinstall VW. No guarantees there, but I can't duplicate your problem. Another approach. What happens when you type 0 into part 1 while "Calculate Parts" is checked. This should reset the calculation, and come up with a 75' cable. (I bet it doesn't) Yes it is, old school, time consuming, and Vectorworks. To be fair, making a user interface(UI) for describing the offset in distance and direction would be a bit of a challenge. Just try describing how you think that process would happen. If you get it right, I'll try to code it. In the meantime, you can take one of the cables and move it the farthest away you want the offset cable to be, then select all the relevant cables and use the VW align/distribute command to evenly lay them out. Cable heads may still be an issue, but life is a %#@&. I'm not sure what you want to achieve here. Any cable can be of any type and any universe. If you want a muticable to be a data multicable with different wiring in it, you will need to specify your own breakout with different wiring. If the cable itself is to have multiples of different wiring in the same jacket, you would have to fake it with multiple cable runs, but I have never heard of such a thing. The latter example of CAT and DMX in the same cable jacket is new to me. Can you tell me more about it? As for different universes, The "Universe" field is a text field so you can put anything you want in there, including "cable type/universe", but you may find your paperwork difficult to manage. Specifically what would you like to see. As for uniqueness, not necessarily; it depends on how you use the cable IDs. In almost all cases, multicables want unique IDs, and that is what Lightwright expects; however, that is not true of all jumpers and data runs. Additionally, if jumper and data IDs are unique, they often want to share an ID then add a ".suffix", e.g. A1.1, A1.2, A1.3 or B4.a, B4.b, B4.c. If you were to be given a command to place cable IDs automatically, what would that UI look like and ask for. Prefix? Suffix? Both? Would it ask for a starting number or letter? Would it ask for both, and then combine them in a user defined way? What would that UI look like? I can't help you with the preview tools. Learning the built in tools won't hurt before learning the AP tools, except you will struggle with a bunch of stuff you shouldn't have to struggle with if you go straight to the AP tools. Since the AP Tools are a superset of the built in tools, take whatever approach floats your boat. If you want to wait until you ace the built in tools before getting together, I will remember you fondly. If you like both the current tools and the preview tools, that's great, but you will be investigating 2 different universes. Considering the goals are the same, you might think of it as learning Chinese and German at the same time in order to write one technical manual. (I have been told that learning the 3rd language is easier than learning the 2nd.) I am playing around with the preview tools a little bit, but they don't think the way I do, and I will leave it to Jesse to explain them. Answers to the user interface questions I have asked will only affect AP Cable Tools, because those are the only ones I can have an effect on. However, the answer will both inform you and others about the specifics, and I mean "specifics", of how the tool should ideally behave. I am snidely thinking this will be much more difficult to describe than you imagine, but that is unfair of me. VW, and those of us who create 3rd party tools, need to get into the mindset and workflows of users as deeply as we can. Engineering limits will always affect what can be achieved with software, but everyday work should define the goals of the software. Are you sure you don't want to hop on a Zoom meeting? Anyone?
  8. If the length of the cable run is 55', the default calculation is to use the next single length that would make the run, i.e. 75'. That is what happens when I open a new document and draw a data cable run whose length is 55'. Perhaps you could post your drawing and I could take a look. There are some times (many?) that you might want to override a cable part length calculation, but your example isn't one of them. Something is very strange if you are not seeing part 2 in the worksheet, if it is longer than 0". You need to be sure that you have Part 2 set to be displayed in the cable worksheet set up. The graphic to display multiple cable runs is different from user to user. Users usually duplicate cable runs and then convert them to a different type if needed. Once the needed number of cables has been created. One of the 2 following methods is usually used. 1. Nudging the cable runs just enough to separate and see the runs, or 2. using Call Outs or other text labels to indicate multiple runs. Usually when number 2 is used, the Reshape tool is used to move the last vertex of the cable run (the cable head) just enough to differentiate each one. The "Terminator Angle" is the angle off of vertical that the little terminator indicator will lean on the drawing. The cable tool plug in that you are probably thinking of is in AutoPlot Tools for Spotlight, www.autoplotvw.com. It is an extensive expansion of the tools that are in Vectorworks. If you want a tour of them and how they work, I'm willing to have a Zoom meeting show them to you and answer your questions. I don't have a lot of shows to prep right now. Vectorworks seems to be going in the direction of abandoning the current tools and developing the tools shown in "Preview Features". Those cable tools are a whole new ballgame. Learning the current cable tools will be no help in learning the "Preview Features", cable tools. I have a whole bunch of issues with them, but @Jesse Cogswell can lead the discussion of these tools and how to use them. Planning cable will always be a chore, even with good tools. The alternative it to pay for twice as much cable as you need, guessing the lengths with the tape measure tool. However, this alternative is of no help when you need to make cable run build lists. Good Luck. Sam
  9. Per Pat's suggestion of using chr(39), you can make a "const" declaration of "k39"= chr(39)" which makes is example a tiny bit easier to implement; CONST k39 = chr(39) VAR asdfasdf BEGIN selCriteria:=Concat(k39, 'CPA Products', k39, '.', k39, 'Serial', k39, '=', RF1); END; Suggestion: spaces after commas have no effect but make the function parameters easier to read. Pat is missing a comma after the second CHR(39). That happens to me all the time setting up criteria strings.
  10. Is there a way to find out if a class exists? If a class of a certain name does not exist, I want to create it and set its attributes. If it already exists, I don't want to change any attributes. I can't find a way to check if a class exists. Lost in the Funciton Reference woods. Sam
  11. For me, another reason to stay with VS.
  12. I'm sure your right, but that sort of syntax is supposed to entice users who are avoiding using vectorscript, python, or marionette? It seems like they have given users access to a tool that they will use to fashion user requested labeling functionality. I am consistently impressed by users who dig in to create their own custom solutions, so perhaps there will be a plethora of user data tag solutions. It's easier for me to deal with vs. I wonder why they didn't try to stay consistent with worksheet syntax.
  13. Unfortunately, I see this all the time in Vectorscript; it will be the result of GetRField() on parameters defined as a dimension type. The first thing to try is to take the number returned by GetRField() and turn it into a string with the Num2StrF() command. What you have to store or preserve will depend on the arithmetic you need to do with the value. I usually have to do the following: VAR paramVal : STRING; paramNumVal : REAL; numDisplay : STRING; ok : BOOLEAN; BEGIN paramVal := GetRField(); ok := ValidNumStr(paramVal, paramNumVal); numDisplay := Num2StrF(paramNumVal); END; I haven't found a simpler way but perhaps Josh or Pat can come up with something.
  14. Download them and try them out to see if they do what you need. The download is fully functional. If you have questions, contact me. Sam sjones@autoplotvw.com 310-993-4172
  15. Nope. Oh well. .... Perhaps you could create the folder you want where you want with a NameObject('NameOne'); BeginFolder; NameObject('NameTwo'); BeginFolder; EndFolder; EndFolder; I don't know how long a shot that is. Changing names mid folder creation seams dicey, but if the need is great, try it out.
  16. Make a list of commands/tools you want and post or send them. I might get to them.
  17. Assuming am array of handles to the newly created symbols can be created (it can), create the folder and insert the symbols into it. The code below, is cut/pasted from a working command. It inserts imported symbols whose handles are in an array. An array of handles to the new symbols can be created as the symbols are created. (This all assumes that I understand what is being asked. Maybe not) dlogSymFolder := GetObject('Dlog Symbol Folder'); {Get a handle to the folder named 'Dlog Symbol Folder' } IF dlogSymFolder = NIL THEN {if the folder does not exist (handle is nil) create it and get a handle to it} BEGIN NameObject('Dlog Symbol Folder'); BeginFolder; EndFolder; dlogSymFolder := GetObject('Dlog Symbol Folder'); END; {IF dlogSymFolder = NIL} FOR index := 1 TO numImported DO {Insert each symbol (by handle) into the new or existing folder} InsertSymbolInFolder(dlogSymFolder,importHandles[Index]);
  18. You will have to make a vectorscript command. You can do this with the custom selection tool. OR Put the attached file somewhere on your hard disk and double click on it. OR Use the plug-in manager to create a command called "Select all Legacy Hoists". When you edit the script, place the following line in the text window: SelectObj(((R IN ['HoistVW']))); and save the command. You can then put that command into your workspace in any menu that you specify. Why are the new hoists the way they are is above my pay grade. If you want help with any of the above, contact me. Sam Samuel L. Jones Developer of AutoPlot Tools for SpotLight, and AP Cable Tools E-mail: sjones@autoplotvw.com (310) 993-4172 (cell) Select All Legacy Hoists.vs
  19. What you need to do is make the new folder in its final destination by specifying that path when you call the CreateFolder() function, then move the newly created symbols into that folder by specifying its path. I do this with 7 different routines. If you specify a path and folder that already exists, no new folder is created, and the newly created symbols are placed in the existing folder.
  20. Let us know if Lightning Tapes got back to you. Their website says they have suspended registrations.
  21. I have created and am good with event enabled point objects and path objects. Is anyone willing to share a tool template, or instruction on the difference between an event enabled PIO tool and an event enabled PIO object. It seems likely that tools are not event enabled, since they do not persist, but a simple example would be good. TIA, Sam
  22. What version of Vectorworks Spotlight are you using?
  23. I didn't understand any of that. Is there a kindergarten version explanation?
  • Create New...