(defun 3dfaca (sss / p4_flag eps p1 p2 p3 p4) (setq eps 0.0001) (setq p1 (cdr (assoc 10 sss)) p2 (cdr (assoc 11 sss)) p3 (cdr (assoc 12 sss))) (if (< eps (distance (cdr (assoc 13 sss)) p3)) (progn (setq p4 (cdr (assoc 13 sss))) (setq p4_flag 1) ) ) (if p4_flag (command "_3dpoly" p1 p2 p3 p4 "_c") (command "_3dpoly" p1 p2 p3 "_c") ) ) ;------------------------------------------------------------------------------ (defun C:3dfs2plin( / elementsatz i typ) (setq osmode_old (getvar "OSMODE")) (command "OSMODE" 0) (alert "\n3D-FACEs zu 3DPoLYLINIEN www.black-cad.de wähle eine oder mehrere 3d-Fläche") (setq elementsatz (ssget)) (setq i -1) (repeat (sslength elementsatz) (progn (setq i (+ 1 i)) (setq typ (cdr (assoc 0 (entget (ssname elementsatz i))))) (if (= typ "3DFACE") (3dfaca(entget (ssname elementsatz i))) (princ "\nkeine 3d-Fläche") ) (terpri) ) ) (command "OSMODE" osmode_old) )