Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Et oui c'est encore moi

J'ai cherché sur le forum mais je n'ai rien trouvé correspondant à mon objet....

 

http://img39.imageshack.us/img39/6812/tremu.jpg

 

Je souhaiterai réaliser la polyligne jaune en sélectionnant le rectangle rouge... cela sur une ou plusieurs sélection d'un coups.

Pour le réaliser j'ai utilisé 2 rapport 80% au centre du rectangle.

 

merci d'avance

@bientôt

 

  • 3 semaines après...
  • 3 semaines après...
Posté(e)

Bonjour,

Après un temps ... je me retrouve à devoir faire des trémies par dizaines.

Je ne comprend pas comment fonction ce vba (je n'en ai jamais utilisé)

j'ai réussi à le charger, et à le lancer (hhouaaahou )

mais ensuite il me demande les 2 largeurs de trémie en mm et il plante !!!

 

que ce passe-t-il ? j'ai jeter un œil au code et c'est du chinois!

 

merci @bientôt

 

 

Posté(e)

Salut,

Lisp et VBA n'est pas ma spé, mais pourquoi un bloc dynamique ? pour ma part c'est ce que j'utilise.

Désolé pour l'incruste

Bonne journée

Pascal

Posté(e)
Salut,

Lisp et VBA n'est pas ma spé, mais pourquoi un bloc dynamique ? pour ma part c'est ce que j'utilise.

Désolé pour l'incruste

Bonne journée

Pascal

 

ne t'excuses pas au contraire merci pour l'incruste ....

 

en fait je dessin des plans d'exécution chantier....

je reçoit de la part des corps d'état leurs réservations à intégrer sur mes plans

et en règle général, suivant comme ils travailles, il n'y a pas ce fameux dessin qui symbolise une trémie donc j'arrive à récupérer de leur part des rectangles (réservations) et le texte (dimension).....

mais je ne peux pas laisser ça dans cette état sinon ce serait illisible....

à noter que juste les réservations du plombier représente 80 trous !!!!

Donc je cherche une routine me dessinant automatiquement ce symbole en partant de rectangle !!!

 

voila !!!

 

merci pour votre aide

 

Posté(e)

hello

 

deux petits lisp

 

commande "tre" pour des tremies rectangulaires

commande "trece" pour des circulaires

 

je l'utilise en choisissant la ou je veux que commence mon symbole

apres rien ne t'empeche de modifier le lisp pour selectionner toutes tes polylignes

et que le symbole commence au premier point de la polyligne

c'est a dire , a coup sur jamais orienté pareille sur toutes les polylignes

 

 

phil

 

 

 

 ;;;----------------------------------------
;;; symbolisation de tremies rectangulaires
;;;----------------------------------------


(defun c:tre (/ ang1 ang2 ang3 ang4 cav decasymbo osm p1 p1a p2 p2a p2b p3a poi1 poi2 poi3 poi4 poi5 symbotre tmp)
 (setvar "cmdecho" 0)
(setvar "CURSORSIZE" 1)
 
 (setq osm (getvar "osmode"))
 (setq cav (getvar "clayer"))
 (if (= (tblsearch "layer" "H_TREMIE") nil)
   (command "-calque" "n" "H_TREMIE" "co" "7" "H_TREMIE" "")
 )
 (command "-calque" "ch" "H_TREMIE" "")
 (setq symbotre (atof (getcfg "APPDATA/SYMBOTRE")))
 (setq decasymbo (atof (getcfg "APPDATA/DECASYMBO")))
 (setq tmp (getdist
             (strcat "\nENTRER LE TAUX REDUCTEUR POUR LE SYMBOLE DE TREMIE <"
                     (rtos symbotre 2 8)
                     ">: "
             )
           )
 )
 (if tmp
   (setq symbotre tmp)
 )
 (setq tmp (getdist
             (strcat "\nENTRER LE DECALAGE POUR LE SYMBOLE DE TREMIE <"
                     (rtos decasymbo 2 8)
                     ">: "
             )
           )
 )
 (if tmp
   (setq decasymbo tmp)
 )
 (setvar "CURSORSIZE" 100)
 (setq poi1 nil)
 (while (null poi1)
   (setq poi1 (getpoint
                "\n1er  POINT DE REFERENCE DE LA TREMIE DANS LE SENS HORAIRE "
              )
   )
 )
 (setq poi2 nil)
 (while (null poi2)
   (setq poi2 (getpoint
                "\n2eme POINT DE REFERENCE DE LA TREMIE DANS LE SENS HORAIRE"
              )
   )
 )
 (setq poi3 nil)
 (while (null poi3)
   (setq poi3 (getpoint
                "\n3eme POINT DE REFERENCE DE LA TREMIE DANS LE SENS HORAIRE"
              )
   )
 )
 (setvar "osmode" 0)
 (setq ang1 (angle poi2 poi1))
 (setq ang2 (angle poi2 poi3))
 (setq ang3 (angle poi1 poi2))
 (setq ang4 (angle poi3 poi2))
 (setq p2a (polar poi2 (+ (/ pi 2) ang1) decasymbo))
 (setq p2b (polar poi2 (- ang2 (/ pi 2)) decasymbo))
 (setq p1a (polar (polar poi2 ang1 (- (distance poi2 poi1) decasymbo))
                  (- ang3 (/ pi 2))
                  decasymbo
           )
 )
 (setq p3a (polar (polar poi2 ang2 (- (distance poi2 poi3) decasymbo))
                  (+ ang4 (/ pi 2))
                  decasymbo
           )
 )
 (setq poi5 (inters p1a p2a p3a p2b nil))
 (if (= symbotre 0)
   (setq p1 (polar poi5
                   ang2
                   (min (distance poi5 p3a) (distance poi5 p1a))
            )
         p2 (polar poi5
                   ang1
                   (min (distance poi5 p3a) (distance poi5 p1a))
            )
   )
   (setq p1 (polar poi5
                   ang2
                   (/ (min (distance poi5 p3a) (distance poi5 p1a)) symbotre)
            )
         p2 (polar poi5
                   ang1
                   (/ (min (distance poi5 p3a) (distance poi5 p1a)) symbotre)
            )
   )
 )
 (setq poi4 (inters p1a p1 p3a p2 nil))
 (command "solide" p1a poi5 poi4 p3a "")
 (setcfg "APPDATA/SYMBOTRE" (rtos symbotre 2 8))
 (setcfg "APPDATA/DECASYMBO" (rtos decasymbo 2 8))
 (setvar "osmode" osm)
 (setvar "clayer" cav)
 (princ)
)



;;;-------------------------------------
;;; symbolisation de tremies circulaires
;;;-------------------------------------


(defun c:trece (/ ang1 cav cerc cerccentre cercrayon decasymbo decasymbo2 dist1 obj osm poi1 poi2 tmp)
 (setvar "cmdecho" 0)
 (setq osm (getvar "osmode"))
 (setq cav (getvar "clayer"))
 (if (= (tblsearch "layer" "H_TREMIE") nil)
   (command "-calque" "n" "H_TREMIE" "co" "7" "H_TREMIE" "")
 )
 (command "-calque" "ch" "H_TREMIE" "")
;;;(setq SYMBOTRE (atof (getcfg "APPDATA/SYMBOTRE")))
 (setq decasymbo (atof (getcfg "APPDATA/DECASYMBO")))
 (setq cerc (entsel "VEUILLEZ SELECTIONNER LE CERCLE DE REFERENCE "))
 (setq cerccentre (cdr (assoc 10 (entget (car cerc)))))
 (setq cercrayon (cdr (assoc 40 (entget (car cerc)))))
 (setvar "osmode" 16)
 (setq poi1 nil)
 (while (null poi1)
   (setq poi1 (getpoint "\nPOINT DE REFERENCE DU SYMBOLE DE LA TREMIE "))
 )
 (setvar "osmode" 231)
 (setq tmp (getdist
             (strcat "\nENTRER LE DECALAGE POUR LE SYMBOLE DE TREMIE <"
                     (rtos decasymbo 2 8)
                     ">: "
             )
           )
 )
 (if tmp
   (setq decasymbo tmp)
 )
 (setvar "osmode" 0)
;;;(command "point" poi1)
 (setq ang1 (angle cerccentre poi1))
 (setq dist1 (- cercrayon decasymbo))
 (setq poi2 (polar cerccentre ang1 dist1))
;;;(command "point" poi2)
 (command "POLYLIGN" poi2 "A" "CE" cerccentre "A" 180 cerccentre "CL")
 (setq obj (ssget "L"))
 (command "-fhach" "p" "s" "SE" obj "" "")
 (setcfg "APPDATA/DECASYMBO" (rtos decasymbo 2 8))
;;;     (setcfg "APPDATA/DECASYMBO2" (rtos DECASYMBO2 2 8))
 (setvar "osmode" osm)
 (setvar "clayer" cav)
 (princ)
)

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

merci philphil

 

mais je ne suis pas assez fort en lisp pour le modifier dans le sens qui me convient... :(

 

J'arrive a comprendre l'ensemble du code mais dans le détail je suis larguer ....

 

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é