Jump to content
  • 0

Make greyed layers unsnapable


WhoCanDo

Question

I would like to see greyed made unpickable or another layer option to do this.

I am often workings on multiple layers and want to see support or design layers but not be able to pick things on them.

One example is when I have a floor outline that I wish to manufacture in smaller segments. I need to know where the support structure is and work on the other layers without selecting objects on the support layer.

Edited by WhoCanDo
Link to comment

9 answers to this question

Recommended Posts

  • 0

Thanks Mike,

I do mean unsnappable.

My current approach to this is to make scale of the layers I want to see but not snap to 0.0001 greater so they don't appear different but dissables snapping.

This means I can work on and snap to the other 4 or 5 layers without accidently picking up the snap points on the support layers.

Link to comment
  • 0

This is what I have so far if anyone else wants it..

procedure Layer_Visability;

label 1, 2;

const

DialogWidth = 300;

DialogTextBoxHeight = 30;

var

WorkLayer : string;

i, Event, ItemID, LayerCount : integer;

sx1, sy1, sx2, sy2 : real;

dx1, dy1, dx2, dy2 : real;

h : handle;

LayerName : array [1..100] of string;

begin

{ Record all layer names }

LayerCount := NumLayers;

h := FLayer;

LayerName [LayerCount] := GetLName (h);

for i := LayerCount -1 downto 1 do

begin

h := NextLayer (h);

LayerName := GetLName (h);

end;

{ Create Dialog }

GetScreen (sx1, sy1, sx2, sy2);

dx1 := sx2 / 2 - DialogWidth / 2;

dy1 := sy2 / 2 - (LayerCount / 2 + 5) * DialogTextBoxHeight;

dx2 := dx1 + DialogWidth;

dy2 := sy2 / 2 + (LayerCount / 2) * DialogTextBoxHeight;

if (dy1 < 0) then { if the dialog box is too long }

Goto 1;

{ Begin Dialog }

BeginDialog (1, 1, dx1, dy1, dx2, dy2);

AddButton ('OK', 1, 1, (dx2 - dx1) / 2 - 102, dy2 - dy1 - 45, (dx2 - dx1) / 2 - 34, dy2 - dy1 - 15);

AddButton ('Cancel', 2, 1, (dx2 - dx1) / 2 + 34, dy2 - dy1 - 45, (dx2 - dx1) / 2 + 102, dy2 - dy1 - 15);

AddField ('LAYER VISABILITY', 3, 1, (dx2 - dx1) / 2 - 70, DialogTextBoxHeight, (dx2 - dx1) / 2 + 70, DialogTextBoxHeight * 2);

AddField ('Choose layers to be unsnapable.', 4, 1, 20, DialogTextBoxHeight * 2, DialogWidth - 20, DialogTextBoxHeight * 3);

ItemID := 4;

for i := 1 to LayerCount do

begin

ItemID := ItemID + 1;

AddButton (LayerName , ItemID, 2, 40, DialogTextBoxHeight * (ItemID - 2), DialogWidth - 20, DialogTextBoxHeight * (ItemID - 1));

end;

EndDialog;

{ Start Dialog }

GetDialog (1);

repeat

DialogEvent (Event);

if (Event > 4) then

SetItem (Event, not (ItemSel (Event)));

until (Event = 1) or (Event = 2); { OK or Cancel }

WorkLayer := GetLName (Actlayer);

{ Change selected events }

if (Event = 1) then { OK }

begin

for i := 5 to LayerCount + 4 do

if (ItemSel (i) = True) then

begin

Layer (LayerName [i - 4]);

DoMenuTextByName ('Standard Views', 2);

end

else

begin

Layer (LayerName [i - 4]);

DoMenuTextByName ('Standard Views', 1);

end

end;

{ End Dialog }

ClrDialog;

{ Return to working layer }

Layer (WorkLayer);

ReDrawAll;

Goto 2;

1:

AlertCritical ('Too many layers.', 'A second column may be necessary.');

2:

end;

run (Layer_Visability);

Edited by WhoCanDo
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...