Aller au contenu

Comment exploser des solides ?


Messages recommandés

Posté(e)

Bonjour,

 

Je viens de recevoir un plan d'archi avec des solides 2D (provenant sans doute de son logiciel Vecteur+ je crois). Je cherche à les exploser sur AUTOCAD2004 mais malheureusement c'est impossible.... Avez-vous une solution ?

 

J'ai fait un essai en dessinant une boite (solide) puis en l'explosant ça marche (=région) mais là impossible avec ses solides ?

Merci

Posté(e)

Je te réponds mais en espèrant que tu iras effacer le message que tu as mis en doublon dans l'autre forum (bouton éditer) :cool:

 

Les solides 2D ne s'explosent pas. Mais ou est ton soucis, que veux-tu en faire ?

 

Quant aux boites solides, ca n'a rien à voir.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

En fait, je dois faire du décalage de ligne mais les solides reçus n'ont pas de contour donc je pensais les exploser pour ensuite avec un petit lisp récupérer les contours des hachures.

Posté(e)

Salut,

 

les codes DXF 10, 11, 12 et 13 contiennent les cordonnées, dans le SCG, des sommet d'un solide 2D.

 

Un petit LISP qui crée le contour (polyligne) d'un solide 2D.

 

Pour tester : (SolidBoundary (car (entsel "\nSélectionnez un solide 2D: ")))

 

;;; REMOVE_DOUBLES - Suprime tous les doublons d'une liste

(defun REMOVE_DOUBLES (lst)
 (cond
   ((atom lst) lst)
   (T
    (cons (car lst) (REMOVE_DOUBLES (vl-remove (car lst) lst)))
   )
 )
)

;;; SolidBoundary Crée une polyligne sur le contour d'un solide 2D
;;; Argument : le nom d'entité (ENAME) d'un solide 2D

(defun SolidBoundary (sol / ptlst)
 (if (and (= (type sol) 'ENAME)
   (= (cdr (assoc 0 (entget sol))) "SOLID")
     )
   (progn
     (setq ptlst (remove_doubles
	    (mapcar 'cdr
		    (vl-remove-if-not
		      '(lambda (x)
			 (			       )
		      (entget sol)
		    )
	    )
	  )
     )
     (if (= 4 (length ptlst))
(setq ptlst (list (car ptlst)
		  (cadr ptlst)
		  (cadddr ptlst)
		  (caddr ptlst)
	    )
)
     )
     (entmake
(append
  (list	'(0 . "LWPOLYLINE")
	'(100 . "AcDbEntity")
	'(100 . "AcDbPolyline")
	(cons 90 (length ptlst))
	'(70 . 1)
	(cons 38 (caddar ptlst))
	(assoc 210 (entget sol))
  )
  (mapcar
    '(lambda (x) (list 10 (car x) (cadr x)))
    ptlst
  )
)
     )
   )
   (prompt "\nEntité non valide.")
 )
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité