leonucadom Posted Wednesday at 08:59 PM Posted Wednesday at 08:59 PM hello all: I use this routine to lower all selected objects to z0 The problem is that it also affects 3D solids if I have them. Is there a way to modify the code excluding 3D solids from the selection? _move;_all;;0,0,0;0,0,1e99;_move;_p;;0,0,0;0,0,-1e99 I appreciate the comments and hope they can help me. Quote
BIGAL Posted Wednesday at 11:37 PM Posted Wednesday at 11:37 PM (edited) It could be as simple as changing "all" to "ss", where ss is a selection set. I am no expert on setting the exclude objects in a selection set. try this not really tested. (setq ss (ssget "_X" '((-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>")))) or _move;(setq ss (ssget "_X" '((-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>"))));;0,0,0;0,0,1e99;_move;ss;;0,0,0;0,0,-1e99 Edited Wednesday at 11:50 PM by BIGAL 1 1 Quote
SLW210 Posted yesterday at 01:12 PM Posted yesterday at 01:12 PM Here is the button macro for selected objects, so something like BIGAL's recommendation should work. ^C^C_SELECT;_MOVE;0,0,0;0,0,1e99;_MOVE;P;;0,0,0;0,0,-1e99; 1 Quote
leonucadom Posted yesterday at 02:15 PM Author Posted yesterday at 02:15 PM 14 hours ago, BIGAL said: It could be as simple as changing "all" to "ss", where ss is a selection set. I am no expert on setting the exclude objects in a selection set. try this not really tested. (setq ss (ssget "_X" '((-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>")))) or _move;(setq ss (ssget "_X" '((-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>"))));;0,0,0;0,0,1e99;_move;ss;;0,0,0;0,0,-1e99 I already tried it, but something strange happens: it filters the 3D solids, but it puts the other elements at z=1.0000E+99 Quote
Tsuky Posted yesterday at 09:14 PM Posted yesterday at 09:14 PM And with this syntax? (sssetfirst nil (ssget "_X" '((0 . "*") (-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>")))) 1 Quote
marko_ribar Posted yesterday at 10:13 PM Posted yesterday at 10:13 PM (ssget "_X" (list (cons 0 "~3DSOLID"))) 2 1 Quote
BIGAL Posted yesterday at 11:06 PM Posted yesterday at 11:06 PM (edited) Thank you @marko_ribar much simpler. Added look in current Layout or Model. In Civ3D may find surfaces also that are not displayed. (ssget "_X" (list (cons 0 "~3DSOLID")(cons 410 (getvar 'ctab)))) Edited yesterday at 11:07 PM by BIGAL Quote
Tsuky Posted yesterday at 11:08 PM Posted yesterday at 11:08 PM (edited) Whether with (ssget "_X" '((0 . "*") (-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>"))) or (ssget "_X" (list (cons 0 "~3DSOLID"))), it also dismisses the entities TRACE et SOLID???? I was cheated because my selection being numerous, the grips were not actif.et I could not see the highlighting with filled shapes. Edited 22 hours ago by Tsuky Unfounded remark Quote
BIGAL Posted 23 hours ago Posted 23 hours ago (edited) Using Bricscad dwg has a solid, finds trace. Or do you mean (setq ss (ssget "_X" (list (cons -4 "<NOT") (cons 0 "3DSOLID,TRACE") (cons -4 "NOT>")(cons 410 (getvar 'ctab))))) Edited 23 hours ago by BIGAL 1 Quote
leonucadom Posted 4 hours ago Author Posted 4 hours ago 22 hours ago, Tsuky said: And with this syntax? (sssetfirst nil (ssget "_X" '((0 . "*") (-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>")))) its great, thanks Quote
ronjonp Posted 38 minutes ago Posted 38 minutes ago 3 hours ago, leonucadom said: its great, thanks This does the same thing (ssget "_X" '((0 . "~3DSOLID"))) It's like Marko's above but CONS is not needed. Quote
Recommended Posts
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.