Aller au contenu

Insertion balisage Chantier K16


Messages recommandés

Posté(e)

Bonjour à tous,

 

J'ai besoin de faire des plan de signalisation de chantier pour un client, j'utilise principalement les palettes de panneaux COVADIS 16.a mais en revanche j'ai remarqué qu'il n'y à pas les balises K16 (ou plus communément appelé GBA plastique).

 

Quelqu'un aurait un tuyau à me donner pour éviter de les dessiner à la main une par une ou comme créer une palette mais avec possibilité de mettre des longueurs variables?

 

Merci d'avance pour votre aide.

AutoCad Map 3D 2016, COVADIS 16

Posté(e)

Bonjour,

je te propose un lisp qui permet de dessiner des segments droits consécutif de couleur noir et rouge.

cdt

 

(defun c:GBA(/ Cmd Co Coo Compt ep Lg os Pt1 Pt2 Pts Pas s)

(defun *errmp* (msg)
(if (/= msg "Function cancelled")
(if (= msg "quit / exit abort")
(princ)
(princ (strcat "\nErreur : " msg))
)
(princ)
)
(if os
(setvar "osmode" os)
)
(setvar "cecolor" coo)
(command "_.undo" "_end")
(setvar "cmdecho" Cmd)
(setq *error* s)
(princ)
)

(defun cg_co()
(setvar "cecolor" (itoa Co))
(if (= Co 1)
(setq Co 7)
(setq Co 1)
)
)

(setq s *error*)
(setq *error* *errmp*)
(setq Cmd (getvar "cmdecho") Coo (getvar "cecolor"))
(setvar "cmdecho" 0)
(setq Ep (getstring (strcat "\nEpaisseur des polylignes <" (rtos (getvar "plinewid")) "> : ")))
(if Ep
(setvar "plinewid" (atof Ep))
)
(setq Pt1 (getpoint "\nPremier point : ") Pt2 '(0.0 0.0 0.0) Co 7 Compt 0)
(if Pt1
(progn
(setq Pts (list (cons 0 Pt1)))
(while Pt2
(initget "Undo")
(setq Pt2 (getpoint Pt1 "\nPoint suivant / Undo : "))
(if Pt2
(progn
(if (= Pt2 "Undo")
(progn
(if (/= Compt 0)
(progn
(command "_.undo" "1")
(setq Pts (vl-remove (assoc Compt Pts) Pts) Compt (1- Compt) Pt1 (cdr (assoc Compt Pts)))
)
(princ "\nRien à annuler")
)
)
(progn
(command "_.undo" "_group")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq Pas 0 Lg (* (getvar "ltscale") 2))
(while (< Pas (- (distance Pt1 Pt2) Lg))
(cg_co)
(command "_.pline" (if (= Pas 0)
Pt1
"@"
)
(strcat "@" (rtos Lg) "<" (angtos (angle Pt1 Pt2) 0 16))
"")
(setq Pas (+ Pas Lg))
)
(cg_co)
(command "_.pline" "@" Pt2 "")
(setvar "osmode" os)
(setvar "cecolor" coo)
(command "_.undo" "_end")
(setq Pt1 Pt2 Compt (1+ Compt) Pts (append Pts (list (cons Compt Pt2))))
)
)
)
)
)
)
)
(setvar "cmdecho" Cmd)
(setq *error* s)
(princ)
)

Posté(e)

Bonjour,

je te propose un lisp qui permet de dessiner des segments droits consécutif de couleur noir et rouge.

cdt

 

(defun c:GBA(/ Cmd Co Coo Compt ep Lg os Pt1 Pt2 Pts Pas s)

(defun *errmp* (msg)
(if (/= msg "Function cancelled")
(if (= msg "quit / exit abort")
(princ)
(princ (strcat "\nErreur : " msg))
)
(princ)
)
(if os
(setvar "osmode" os)
)
(setvar "cecolor" coo)
(command "_.undo" "_end")
(setvar "cmdecho" Cmd)
(setq *error* s)
(princ)
)

(defun cg_co()
(setvar "cecolor" (itoa Co))
(if (= Co 1)
(setq Co 7)
(setq Co 1)
)
)

(setq s *error*)
(setq *error* *errmp*)
(setq Cmd (getvar "cmdecho") Coo (getvar "cecolor"))
(setvar "cmdecho" 0)
(setq Ep (getstring (strcat "\nEpaisseur des polylignes <" (rtos (getvar "plinewid")) "> : ")))
(if Ep
(setvar "plinewid" (atof Ep))
)
(setq Pt1 (getpoint "\nPremier point : ") Pt2 '(0.0 0.0 0.0) Co 7 Compt 0)
(if Pt1
(progn
(setq Pts (list (cons 0 Pt1)))
(while Pt2
(initget "Undo")
(setq Pt2 (getpoint Pt1 "\nPoint suivant / Undo : "))
(if Pt2
(progn
(if (= Pt2 "Undo")
(progn
(if (/= Compt 0)
(progn
(command "_.undo" "1")
(setq Pts (vl-remove (assoc Compt Pts) Pts) Compt (1- Compt) Pt1 (cdr (assoc Compt Pts)))
)
(princ "\nRien à annuler")
)
)
(progn
(command "_.undo" "_group")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq Pas 0 Lg (* (getvar "ltscale") 2))
(while (< Pas (- (distance Pt1 Pt2) Lg))
(cg_co)
(command "_.pline" (if (= Pas 0)
Pt1
"@"
)
(strcat "@" (rtos Lg) "<" (angtos (angle Pt1 Pt2) 0 16))
"")
(setq Pas (+ Pas Lg))
)
(cg_co)
(command "_.pline" "@" Pt2 "")
(setvar "osmode" os)
(setvar "cecolor" coo)
(command "_.undo" "_end")
(setq Pt1 Pt2 Compt (1+ Compt) Pts (append Pts (list (cons Compt Pt2))))
)
)
)
)
)
)
)
(setvar "cmdecho" Cmd)
(setq *error* s)
(princ)
)

 

Super Merci Dilack pour ta réponse j'ai essayé ça fonctionne niquel. En revanche sais tu ou je peux modifier les couleur et les longueur des section?

 

Merci à toi en tout cas

AutoCad Map 3D 2016, COVADIS 16

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é