Jump to content

The Hamma

Member
  • Content Count

    109
  • Joined

  • Last visited

Posts posted by The Hamma


  1. I would like to know if there is a way to convert a 3d poly to a 2d poly in the layer plane so it moves in 3d the same way that a 3d poly does, not converted to the screen layer as a hidden line rendering of the 3d poly. If there is not a way I put out this challenge for some one to write a script that would do so.


  2. 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);


  3. 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.


  4. 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);


  5. 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);


  6. 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);


  7. 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.


  8. 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.


  9. 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.

 

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...