Jump to content

The Hamma

Member
  • Content Count

    106
  • Joined

  • Last visited

Posts posted by The Hamma


  1. Anyone know why this script runs from the script Palette but not if I add it to the menu. When added to the menu it runs but nothing happens.

    PROCEDURE ClassStyle;

    PROCEDURE changedoors(h :HANDLE);

    BEGIN

    SETRFIELD(h, 'door', 'IDLabelClass', 'Marks');

    ResetObject(h);

    END;

    BEGIN

    ForEachObject(changedoors, (INSYMBOL & INVIEWPORT & (PON='door')));

    END;

    Run(ClassStyle);


  2. Thank you both methods work, but I think what I will do on most occasions is to make sure the marquee selection goes around the end point of the wall on the side that is in the direction I am going to stretch. This way the doors move and all I need to do is rejoin the wall at the end. Another trick I can use is to break the wall at some point near the stretch so the marquee selection can go around an end point. It would be nice if the tool worked the way it had in the past. I used it this way every day.


  3. This is not working and I have no idea why, any help would be appreciated.

    Procedure linecolor;

    Var

    cw: longint;

    r,g,b: LONGINT;

    h: handle;

    BEGIN

    GetFillFore(h, r,g,b);

    if r,g,b =(0,0,255) then SetFillFore(h :255,255,255);

    End;

    Run (linecolor);


  4. Since I did not need to keep the symbols as symbols I was able to convert them to groups and then my revised script worked for the entire drawing. Thanks for the input.

    PROCEDURE SelectedObjLineWeight;

    Var

    cw:integer;

    FUNCTION explodeob(h:HANDLE) :BOOLEAN;

    BEGIN

    SymbolToGroup(h,2);

    END;

    FUNCTION edObject(h:HANDLE) :BOOLEAN;

    BEGIN

    cw:=GetLW(h);

    if cw = 1 then SetLW(h, 8);

    if cw = 7 then SetLW(h, 4);

    if cw = 10 then SetLW(h, 6);

    if cw = 14 then SetLW(h, 8);

    if cw = 20 then SetLW(h, 11);

    if cw = 28 then SetLW(h, 12);

    if cw = 39 then SetLW(h, 15);

    END;

    BEGIN

    DSelectAll; SelectObj(INSYMBOL & INVIEWPORT & (T=Symbol));

    ForEachObjectInLayer(explodeob, 2, 2,1);

    ForEachObjectInLayer(edObject, 0, 2,1);

    END;

    Run(SelectedObjLineWeight);


  5. I have written a script to change the lineweights of objects in a drawing based on there existing lineweight and it works fine in a layer but I can not get it to work in a symbol. Does anyone know what I could do to make this work. One Idea I have is to cut the objects out of the symbol and place them on a layer make the change and then put them back in the symbol but I do not know how do do this in a script.

    my script is below.

    Procedure Lineweight;

    Label 100, 101, 102, 103, 104, 105, 106;

    VAR

    H1 : HANDLE;

    P1,P2 : real;

    Begin;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=7));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    100:SetLW(H1,3);

    H1:=NextSObj(H1);

    if H1<>Nil then goto 100;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=10));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    101:SetLW(H1,4);

    if H1<>Nil then goto 101;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=14));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    102:SetLW(H1,6);

    H1:=NextSObj(H1);

    if H1<>Nil then goto 102;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=20));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    103:SetLW(H1,8);

    H1:=NextSObj(H1);

    if H1<>Nil then goto 103;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=28));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    104:SetLW(H1,11);

    H1:=NextSObj(H1);

    if H1<>Nil then goto 104;

    DSelectAll;

    SelectObj(INSYMBOL & INOBJECT & INVIEWPORT & (LW=39));

    DSelectObj(INSYMBOL & INVIEWPORT & (T=TEXT));

    H1:= FSActLayer;

    105:SetLW(H1,12);

    H1:=NextSObj(H1);

    if H1<>Nil then goto 105;

    End;

    Run (Lineweight);


  6. Often we have details that we pull in from other projects and or we rearrange the details on the sheet. Hence the need to renumber each label in consecutive order. It would be great to have a tool that I could set to a start number and click every consecutive detail mark and renumber them sequentially without having to edit the Object info for each item. This would save a great deal of time and my hands from carpel tunnel syndrome.

    P.S. it would be great if this worked on door and window marks, detail marks, and any other object that has record based number field.


  7. I would like to bring this issue back up again. Many times things get drawn or symbols and hatches are in line weights 1 and 2 mils and this is just to small for our printers or our desires. It would be nice to have a setting that beefed up all line weights to a minimum and our minimum would be 3 mils. Seems like a simple request and a simple fix.


  8. Thinking a bit more about my wish. I would like to be able to keep items grouped and polylines and such. It would be nice that if the viewport crops something then it is recreated as a smaller piece but if it doesn't then the object stays intact. And I said single layer but, I have changed my mind on that one, Just as long as the Dwg is produced in model space and no paper space.


  9. One thing I would suggest is save the file you want to export to a seperate file. Then purge it until you cannot purge anything else. I would also suggest geting rid of the viewport all together bringing everything to design layers if you can. Then export. I have placed in the wish list for the capability for VW to use the print command to export. Hence producing a 2D single layer Dwg that is a replica of the drawing as viewed when printing.

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×
×
  • Create New...