leonucadom Posted December 3, 2025 Posted December 3, 2025 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 December 3, 2025 Posted December 3, 2025 (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 December 3, 2025 by BIGAL 1 1 Quote
SLW210 Posted December 4, 2025 Posted December 4, 2025 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 December 4, 2025 Author Posted December 4, 2025 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 December 4, 2025 Posted December 4, 2025 And with this syntax? (sssetfirst nil (ssget "_X" '((0 . "*") (-4 . "<NOT") (0 . "3DSOLID") (-4 . "NOT>")))) 1 Quote
marko_ribar Posted December 4, 2025 Posted December 4, 2025 (ssget "_X" (list (cons 0 "~3DSOLID"))) 2 1 Quote
BIGAL Posted December 4, 2025 Posted December 4, 2025 (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 December 4, 2025 by BIGAL 1 Quote
Tsuky Posted December 4, 2025 Posted December 4, 2025 (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 December 5, 2025 by Tsuky Unfounded remark Quote
BIGAL Posted December 4, 2025 Posted December 4, 2025 (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 December 4, 2025 by BIGAL 1 Quote
leonucadom Posted December 5, 2025 Author Posted December 5, 2025 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 December 5, 2025 Posted December 5, 2025 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.