Jump to content

J. Miller

Member
  • Posts

    291
  • Joined

  • Last visited

Posts posted by J. Miller

  1. I have a PIO that has an record attached to it. Now this PIO needs multiples of the same record. I have been able to do that by assigning the record to different parts of the PIO (not the PIO itself), but unless I manually refresh the PIO after the record file changes the edit does not appear in the worksheet. Is there a way to make a PIO sense a record field change and do a refresh on itself?

    Thanks in Advance

    Jeff Miller

  2. Hello,

    Is there a way to get the information about the saved sets of pdf batch drawings thru VS?

    I am looking for the name of the each saved set

    I would like to also know the count of pages associated and the sheet names?

    Not sure where to start here. I can't seem to locate any information about this.

    My ultimate goal is to place page 'x' of 'x' total pages onto each set of saved drawings prior to exporting them.

    Any info would be appreciated.

    Jeff Miller

  3. Is it possible to take a SL instrument add accessories and re-save as a new symbol that will react as a Spotlight instrument that has accessories attached to it? It seems VW wants to group everything as a symbol. to access the instrument data it needs to be manually ungrouped. I'm just trying to avoid the ungroup step when dropping lights into a drawing.

    Thanks in Advance

    Jeff

  4. Hey Josh,

    Thanks for the hints. I am going to attempt to create a Site type Marker that will retain its size (including text) that will maintain the created size through differently scaled view ports.

    Jeff

  5. Hello,

    I am finally experimenting with the use of accessories in VW

    LW is reading the symbol name and not the Instrument type when bringing accessory information into LW

    Is this a default or is the import to LW misbehaving?

    LW5 Ver 5.0.29 Build 406

    VW 2012 SP2

    Thanks in Advance

    Jeff Miller

  6. Hello,

    I am having the same issue with shutter cuts.

    I opened the attached file above and the shutters work fine.

    If i copy the fixture into my document the shutters don't work?

    What gives

    Jeff Miller

  7. Thanks for he tips...

    Here is a brief description of what this plug-in is doing.

    The field 'name' of this plug in (center) will be placed into another plug-in (point) available thru a pop up list. This will allow the other plug in (point) to find it and get its "X", "Y" location based on the user selection of the name. If the plug-in (center) is not in the file than the other plug-in (point) will use the current files center. The offset difference will be used for some dimensioning and reports of (point) based on the position of plug-in (center). Originally i was only going to use one (center), but wanted to make the plug-in a little more robust by allowing multiple (centers). If two (centers) are named the same then erroneous results happen (point usually fined the newest (center)first). I know not to have to (centers) with the same name, but don't want to rely on the user to know that. Trapping user errors always complicates things.... doesn't it??

    Sorry it takes a few days for a response, but it's usually weekend warrior coding for me

    Jeff

  8. Thanks Josh.

    I am going to experiment with setting the Name of the object. It seems VW will check for unique names upon creation on its own.

    I haven't tried it yet, but maybe this will solve my issue.

    I guess I could also check all the other existing PIO's for duplicates, but like you mentioned a dialog would pop up to correct the problem would happen on each reset. I wonder if there is a way just check at initialization of the object. The "VSO" calls (same ones that allow a button to be placed on a PIO Object Info) available are a bit vague in description. I can't seem to find a list of what all the numbers actually do.

    SetObjPropVS(??, TRUE) as a sample

    Jeff

  9. I have a PIO that needs to have a unique field value in order to work with another PIO. Is there a way to open the preference dialog of the PIO each time the PIO is placed into the File and check to be sure the value of a field does not already exist. If it does I'd like to call a strdialog to change the name? Where would this call be placed to work properly?

    Thanks in Advance

    Jeff Miller

  10. That did it. Once again I have to thank the gurus that read these posts and reply! If I only wrote code a little more frequently I might even be able to post answers myself.

    Thanks Andrew! (Now if I could only get those lost hours back)

    Jeff Miller

  11. Okay, I almost put a brick through the monitor.

    I have a PIO that utilizes a button to call a dialog that has a GetColorChoice Control in it. Through the mysteries of enabling and setting the VSO calls i got it to display and retrieve a color... BUT in the case statement that builds the pio i can either build the pio with the (3) case or pick the color with the (35) case. when i want to change the color of a handled object (outside of the case... is this wrong???) I either get the handle of the object or the color integer. I can't get both.

    What am i doing wrong??

    I have been on many sites today to try to get a grip on vso things, but cant seem to find what the 'theevent' indexes are or could be. lost lost lost

    Sample....

    BEGIN

    isObject := GetCustomObjectInfo(objectName, objectHan, recordHan, wallHan);

    vsoGetEventInfo(theEvent, theMessage );

    CASE theEvent OF

    3:

    BEGIN

    Build the PIO Stuff

    {hanFill is created in the pio stuff}

    END;

    5: {kObjOnInitXProperties}

    BEGIN

    result := SetObjPropVS(8, TRUE);

    result := vsoInsertAllParams;

    result := vsoInsertWidget(2,12, 15, 'Change 2D Symbol Color', 0);

    END;

    35:

    BEGIN

    ReturnColorDialog; {Custom Dialog to pick Color}

    AlrtDialog(Concat(' handle to Fill', hanFill, ' newColor ' , newColor));

    {Returns color but not handle of hanFill}

    END;

    END; {of Case}

    AlrtDialog(Concat(' handle to Fill', hanFill, ' newColor ' , newColor));

    {Returns HanFill but not Color}

    END;

  12. Hello,

    Thank you so much for your comments.

    Sorry it took so long to get back, but it has been one of those weeks. I hope to get back to this project this weekend and will take the posted information and evaluate it. It always inspiring to see how others code and to see if I am anywhere in the ballpark at times, especially with arrays and nested for loops.

    Jeff Miller

  13. Hello,

    I am trying to build a Summary array (xArraySummary} from an array of Lighting Fixtures (xArray)

    I want to get a total (IntelCnt) of each type of Fixture (IntelInstType)

    The xSummaryArray is to be used in my script to build a list of instruments in a dialog

    Being more of a dabbler and not an ace programmer I was wondering if there is an easier way to do this (nested loops ?, which always make me loopy}

    Does this make sense to anyone?

    {************************** SAMPLE CODE ***************************************}

    TYPE

    IntelData = STRUCTURE

    IntelHan, IntelRecHan : HANDLE;

    IntelInstType : STRING;

    IntelCnt : INTEGER;

    END;

    CONST

    kMaxArray = 200;

    VAR

    xArray, xArraySummary : Array[1..kMaxArray] of IntelData

    intNum, arrayCnt , intVar : INTEGER;

    holderString : STRING;

    IF intVar > 0 THEN BEGIN {intVar determines if sort should happen}

    xArraySummary[1].IntelInstType := xArray[1].IntelInstType; {put 1st xArray Element into xArraySummary}

    intNum := 1; {declare variable}

    arrayCnt := 1; {declare variable}

    FOR i := 1 TO noNumChan DO BEGIN {loop thru xArray}

    holderString := xArray.IntelInstType;

    arrayCnt := 1;

    WHILE arrayCnt <> kMaxArray DO BEGIN

    {IF NAMES ARE THE SAME GET OUT OF LOOP}

    IF xArraySummary[arrayCnt].IntelInstType = holderString THEN BEGIN

    xArraySummary[arrayCnt].IntelCnt := xArraySummary[arrayCnt].IntelCnt +1; {counts qty of fixtures}

    arrayCnt := kMaxArray; {kill the while loop}

    END

    {IF NAMES DONT MATCH ADD 1 to arraycnt to look at next element}

    ELSE IF (xArraySummary[arrayCnt].IntelInstType <> holderString) AND (xArraySummary[arrayCnt].IntelInstType <> '') THEN BEGIN

    arrayCnt := arrayCnt +1;

    END

    {IF NAMES DONT MATCH AND IS BLANK PUT NAME IN ARRAY}

    ELSE BEGIN

    xArraySummary[arrayCnt].IntelInstType := holderString;

    xArraySummary[arrayCnt].IntelCnt := xArraySummary[arrayCnt].IntelCnt +1; {counts qty of fixtures}

    intNum := intNum +1; { will determine how many fixtures i need to list in my dialog}

    arrayCnt := kmaxArray; {kill the while loop}

    END;

    END;

    END;

    END;

    {******************************** SAMPLE CODE *************************************}

    Thanks

    Jeff Miller

  14. the only problem with that is if the 2 surfaces are not next to each other. These are user dropped symbols that represent ground tiling that are 4'x 4'. I am current converting a copy of symbol into a group , deselecting the symbol then adding all of the copied items into a surface that shows the perimeter line and sq. footage of the placed tiles. When using less than 400 tiles it works fine. Go beyond that and vectorworks refuses to cooperate. Because they are user dropped, sorting out exactly where they are would take a lot of work, unless someone may know a slick way to do that.

    Jeff

  15. Just replacing the symbol will not bring in the new records.

    do you think i could get the new records (i know what i am looking for) and add them to the existing symbol passing the default fields associated with the newer symbol. I was hoping to get the new symbol too because with each new revision there is usually something improved with it. this time it is a few new records, but in the future there may be a better symbol too.

    Jeff

  16. I kicking around with a script that will compare existing symbols in a file and add a few new records to that symbol based on comparing them to a new set of symbols that have been developed with the same symbol name.

    I need to keep the existing records attached and the information they contain then add the new records if they exist.

    I have a few ideas but want to ask the group for opinions before i dive into this project

    Thanks in advance,

    Jeff Miller

  17. I have seen the same problem. I also sent the file.

    I may have narrowed it down to a text related issues in symbols, but not really sure. I hid the text objects and open GL seemed to work ok??? Still waiting for an answer from tech. It was a file converted from 2010. It is frustrating to worry about viewing an open render.

    Jeff Miller

    VW2011 SP2

    Windows 7 64bit

  18. The S4 Par body included in the ETC Symbol Library is a little quirky. When Inserted as just a symbol it is pointed straight down (as it should), BUT if inserted as a lighting device the default focus is rotated about 98? and panned about 90?without setting a focus point. Once a focus point is assigned if behaves properly. Is there a way to fix the S4 par body instrument so that it behaves like the s4 Leko body behaves? I really like the new feature of the 3d portion of the symbol will rotate and pan based on focus, but sometimes the isn't a position set and the default angle just look bad

    Thanks

    Jeff Miller

  19. I completely agree with Pat & Maarten on the above topics two posts. There is a large amount of code to get a dialog box to behave properly. A more robust editor would be great too. I have some VB experience and the editor in that language is very easy to use but has a lot of the features Maarten described. I would not suggest getting rid of vectorscript but updating the interface would be wonderful idea.

    Jeff Miller

×
×
  • Create New...