Aller au contenu

aide pour modifier lisp porte avec percement mur


actopview

Messages recommandés

bonjour a tous

je désire adapter un lisp qui insert une porte a droite avec percement du mur mais en changeant les entrées utilisateurs.

A ce jour ce lisp fonctionne mais uniquement avec des lignes et des entrées utilisateur obsolète

Je vous avoue que mes connaissances ne sont pas assez poussé pour le faire

Je souhaiterai cliquer 1/ le point d'insertion en accrochage proche sur une polyligne

                                     2/en accrochage proche deuxième point définissant orientation et la dimension

                                    3/ sélection de l'autre cote du mur ( qui sera une polyligne parallèle )

et egalement changer l 'angle d'ouverture à 45degres

 

 

Citation

(defun c:padarchi()
  (command "scu" "g")
  (setvar 'osmode 33)
  (setq xyori (getpoint "\n Point d'insertion de la porte ? "))
  (setq dir     (getorient xyori "\n Direction du décalage "))
  (setq decal   (getdist  "\n Valeur du décalage :"))
  (setq xyins   (polar xyori dir decal))
  (setq taille (getdist  "\n largeur d'ouverture ? "))
 
  (setq tailleinv (- 0 taille))
  (setq kalkk (getvar 'clayer))        
   (setq entite (car (entsel "\n Sélectionnez l'autre côté du mur ou de la cloison ! ")))
  (setq calk (cdr (assoc 8 (entget entite))))
  (setq ptdep (cdr (assoc 10 (entget entite))))
  (setq ptfin (cdr (assoc 11 (entget entite))))
  (setq ptmil (polar ptdep (angle ptdep ptfin) (/ (distance ptdep ptfin) 2)))
  (command  "_line" xyins "_per" ptmil "")
  (setq ligne (entlast))
  (setq xyperp (getvar 'lastpoint))
  (entdel ligne)
  (setq alpha (angle xyins xyperp))
  (setq palpha (- alpha (/ pi 2)))            ; palpha=alpha-100 grades
  (setq qalpha (- alpha (/ pi 4)))            ; qalpha=alpha-50 grades
  (setq pqalpha (+ alpha (/ pi 4)))            ; pqalpha=alpha+50 grades
  (setq epmur (distance xyins xyperp))            ;epmur est l'épaisseur du mur!
  (setq decro (if (< epmur 0.035) (/ epmur 2) 0.035))
  (setq epmu (- epmur decro))                
  (command "._layer" "e" calk "")
  (setq xy1 (polar xyins alpha decro))
  (setq xy2 (polar xy1 palpha 0.015))
  (setq xy3 (polar xy2 alpha epmu))
  (command "_pline" xyins xy1 xy2 xy3 "")
  (setq xylarge (polar xyins palpha taille))            
  (setq xy1 (polar xylarge alpha decro))
  (setq xy2 (polar xy1 palpha -0.015))
  (setq xyl3 (polar xy2 alpha epmu))
  (command "_pline" xylarge xy1 xy2 xyl3 "")
  (command "._layer" "e" "porte" "")
  (setq xy4 (polar xyins palpha decro))
  (setq xy5 (polar xy4 alpha tailleinv))
  (setq xy6 (polar xy5 palpha (- 0 decro)))
  (command "_pline" xyins xy4 xy5 xy6 "c")
  (command "._linetype" "a" "cache" "")
  (command "_arc" "c" xyins xy5 xylarge)
  (command "._linetype" "a" "ducalque" "" )
  (setq xym (polar xyins palpha (/ taille 2)))
  (command "coupure" entite xy3 xyl3)
  (command "coupure" xym xyins)
  (command "coupure" xym xylarge)
  (command "._layer" "e" "embrasure" "")
  (command "_line" xyins xylarge "")
  (command "_line" xy3 xyl3 "")
    
 
  (setvar 'clayer kalkk)
  (command "scu" "p")
)

 

 

Merci par avance de votre retour

Nota une question je souhaiterai connaitre quelles informations nous retourne la fonction entsel sur une polyligne.

Lien vers le commentaire
Partager sur d’autres sites

Coucou,
Le programme doit-il fonctionner encore avec des lignes ou bien désires-tu insérer un bloc à la place ?
Peux-tu donner un .dwg d'exemple avec les éléments initiaux puis un exemple de résultat souhaité ?

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

bonjour

merci de ce retour rapide c est très gentil de ta part.

je souhaiterai que cela fonctionne avec des polylignes et uniquement avec trois clics. bloc ou pas je ne sais pas trop peut etre bloc dynamique pour garder l 'epaisseur de la porte fixe à 3.5CM.

je joint un dwg exemple.

 

si ca marche je tenterai de modifier le meme à gauche tout seul😁

Merci par avance à bientot

cadxp porte.dwg

Lien vers le commentaire
Partager sur d’autres sites

Salut Luna

Merci pour ton aide,  je ne suis pas du tout pressé, cela fait 20 ans que je dessine déjà comme ca 🤣.

J essaye à chaque fois de me mettre au lisp mais le language est vraiment rebarbatif ... ma branche c est plutot la 3D nuage de point covadis.

 

Lien vers le commentaire
Partager sur d’autres sites

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é