Jump to content

Sam Jones

Member
  • Posts

    1,192
  • Joined

  • Last visited

Posts posted by Sam Jones

  1. So.  ...You're saying the work around is still needed, but not much longer.  While it is needed, how will it work if I want to anchor a template holder at the nose of the light but inside the symbol graphic and I want to anchor iris at the gate that is not at the insertion point.  I'm assuming 2 loci won't work, because the tool won't know which locus to use for which accessory.  This all being the case, I assume the workaround won't work for more than 1 errant accessory.  Right?  If wrong, how would that work?

    • Like 2
  2. You can use the old hoists.  They're called "Legacy Hoist" and you have to add them to your workspace with the workspace manager under the "Tools" tab.  Unfortunately, you will need to replace the ones you have already drawn with the legacy hoists

  3. The find and modify functionality seems to exist, but I find it very difficult to use, and I have not find a way to select with it unless I want to modify.  I'm willing to admit that I am very set in my ways, and maybe a little dull, but I can't figure out how to do any useful work with accessories and the Spotlight Find and Modify... functionality.  But then, I don't have to; I made my own.

     

    BTW, I heartily recommend the Savvy Select Similar Instrument  tool.

    • Like 1
  4. I don't think you can select by accessory type in 2021.  Maybe Kevin Linzey or Jesse Cogdell can enlighten us.

     

    You can do it with AutoPlot Tools for Spotlight.  It has a 2 month fully functional trial, so if you can get your task done in 2 months it's a free solution.  Let me know if you want to Zoom and I'll demo it.

    • Like 1
  5. On 12/6/2021 at 1:08 AM, JeroenSnoeijen said:

    legacy fixture legends of Vectorworks Spotlight

     

    That's a very scary phrase. Since when did Label Legends become "legacy"?  Many thousands of workflows are based on them.  Adjusting individual fields is easier to do than with data tags.  With the right tools, moving graphic edits among selected fixtures is easier than with data tags.  I have know issue with people using data tags instead of Label Legends if it fits their workflow.  I do not know data tags well, but the loss of Label Legends is a truly frightening thought.

  6.  

    16 hours ago, MullinRJ said:

    but have you played with AddAssociation()?

     

    I have played with AddAssociation with the kOnDeleteDelete and kOnDeleteReset flags in several other commands.  There don't seem to be any other flags that I can find, although I'm sure there are some.  I doubt that there is a flag that would replace  AssociateLinearDimension() routine.

     

    The most frustrating thing is that I got AssociateLinearDimension(LNewObj, FALSE); to work 10 days ago.  I have both recreated and retrieved from Time Machine the code from then, and still nothing works.  The example I sent dimensions the selected symbols and PIOs from center, adding an association to each.  Why doen't it work.  I guess I'll submit a bug, but I did get it to work once upon a time.

  7. Why does the script below not associate the created dimensions with the selected symbols and PIOs

    (line 33)

    The dimension are created and seem to be correct, but when I select a dimensioned object and move it, the associated dimension does not move with it

    I have attached a file that contains the script, "Dimension Test", and selected Lighting Devices to dimension.

     

    {Line 1}   PROCEDURE AssociateDims;

    TYPE
        AnObject = STRUCTURE
            ObjHdl    :HANDLE;
            X            :REAL;
            Y            :REAL;
        END; {AnObject}
        
    VAR
        ObjArray            :ARRAY[1..10] OF AnObject;
        Obj                :HANDLE;
        ObjCount            :INTEGER;
        Index                :INTEGER;
        
    BEGIN
        ObjCount := 0;
        Obj := FSActLayer;
        WHILE Obj <> NIL DO                    {Fill ObjArray with selected objects}
            BEGIN
                IF ((GetType(Obj) = 15) | (GetType(Obj) = 86)) THEN
                    BEGIN
                        ObjCount := ObjCount + 1;
                        ObjArray[ObjCount].ObjHdl := Obj;
                        GetSymLoc(Obj, ObjArray[ObjCount].X, ObjArray[ObjCount].Y)
                    END; {IF ((GetType(Obj) = 15) |}
                Obj := NextSObj(Obj);
            END; {WHILE Obj <> NIL}
        
        FOR Index := 1 TO ObjCount DO    {Place Dimension from X=0 to Object X}
            BEGIN
                LinearDim(0, ObjArray[Index].Y, ObjArray[Index].X, ObjArray[Index].Y, 24, 0, 770, 514, 1);
    {line 33} AssociateLinearDimension(LNewObj, FALSE);
            END;
    END;
    RUN(AssociateDims);

     

     

     

    Associate Dimension Test 2021.vwx

  8. "SetLineWeightChoice()" It was a sloppy cut and paste job.  I was always referring to "SetLineTypeChoice()"

     

    Critical things I needed to find out.

     

    1. "Name2Index('ISO-08 Long Dashed Short Dashed')" would find the index I needed for SetLineTypeChoice()

    2. In the expression,

           resList:=BuildResourceList(96,14,'Attributes - Line Types',numLineTypes); 

          The values of "96" (type), "14" (default folder), and 'Attributes - Line Types' (subfolder name) were the values I needed to build the resource list.

    3. That I might need to use the negative folder number.

     

    When I go back, and look at the appendix, that those were the values needed seems so obvious to be embarrassing.  It would be best if I worked harder to investigate the VS functions that I do not use often, but which become critical for certain functionality.  I could do that, or I could come here and benefit from the good graces of those that peruse this list.  I will try to do more of the former, but I will see you all next time.  It's kind of like copying a friends homework.  It's a little embarrassing, but the dog ate my homework.

     

    Thanks all.

    • Like 1
  9. I can create a line type choice list box with the "CreateLineStylePopup" VS procedure.  I would like to set the initial selection With the "SetLineWeightChoice(dialog, kLineWeightMenu, #)" command.

    First, when I set the "#" to "2", it does not select the 2nd or 3rd (0 based) item in the line type list.  So, what goes where the "#" is.

     

    Second, the line type I actually want to set I only  know by name, "ISO-08 Long Dashed Short Dashed", and it comes from the VW application resources.  I don't mind polling a list to find that line type, but what list?  Once I find the named resource, how do I specify that line type to be the default selection in the menu.

     

    I was hoping this would be easy.  It probably is, but the answer is arcane knowledge.

  10. 1 minute ago, JBenghiat said:

    So extra tricky for those of us crossing over to c++.

    True, as with all things C++, but you get to drive an all terrain Corvett, and I get to drive a 10 year old Corolla.

  11. Scary.  Do you know if this is true in the VS environment.  I check for NIL handles, but have never initialized any.  From what you wrote, it would seem a collection of:

    HandleVar := NIL;

    statements would be required at the beginning of every script command or contained in any initialization subroutine.

     

  12. AutoPlot has a simpler, less powerful, lineset tool that would probably work for you, but the real question is: what is the workflow you would like to achieve when you work with linesets.  I'm a collector of VW live entertainment workflows, and I would very much like hear about yours and how you want to improve it.

     

    Sam

    Samuel L. Jones
    Developer of AutoPlot Tools for SpotLight, and AP Cable Tools
    E-mail: sjones@autoplotvw.com
    (310) 993-4172 (cell)
     

×
×
  • Create New...