Aller au contenu

Lisp pour sortir une liste de sommet de polyligne avec quelques infos en plus


Messages recommandés

Posté(e)

Bonjour,

J'utilise AutoCAD 2015 avec Covadis. Je souhaiterais sortir un fichier texte de coordonnée de sommet en cliquant sur une polyligne avec une mise en forme un peu spéciale.

Voilà un petit dessin de ce que je voudrais.

http://img11.hostingpics.net/thumbs/mini_212996LISP001.jpg

C'est pour sortir un programme simple en language G-code (Wikipedia) d'une polyligne que je trace sur mon plan.

Le code G1 c'est pour les lignes droites et on met juste G1 X.. Y.. (coordonnée du point d'arrivée)

Le code G2 c'est pour les arcs en sens horaire (ou trigonométrique) et on met G2 X.. Y.. R.. (en mettant les coordonnées du point d'arrivée).

Le code G3 c'est pour les arcs en sens anti-horaire (ou anti-trigonométrique) et on met G3 X.. Y.. R.. (en mettant les coordonnées du point d'arrivée).

 

J'ai mis des valeurs dans mes exemples pour bien comprendre le fichier que je veux à la fin.

Les coordonnées doivent avoir pas plus de 3 chiffres après la virgule.

 

Actuellement je fais ID sur mes sommets, je copie-colle dans un bloc-note et je rajoute les G1/G2/G3/X/Y/R et je retire les X = et Y= ainsi que le 4ème chiffre après la virgule mais c'est assez long et rébarbatif par exemple sur ça :

http://img11.hostingpics.net/thumbs/mini_416974ESS.jpg

 

Peut-être qu'il existe déjà un lisp de ce genre.

 

Merci à quiconque pourra m'aider.

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

Posté(e)

Cette fonction est déjà pas mal, ça me donne ça :

####################################################################
COVADIS - LISTING RECAPITULATIF DES INFORMATIONS SUR UNE POLYLIGNE 
####################################################################
Type de polyligne : 2D (entité = LWPOLYLINE)
Fermeture     	: Non
Lissage       	: Aucun
Typelign Gen. 	: Oui

Calque de dessin  : FORT
Couleur de dessin : DuCalque = 7
Type de ligne 	: DuCalque = CONTINUOUS

Altitude          : 0.000 m
Longueur          : 421.623 m
====================================================================
 N°    X sommet    Y sommet 	Rayon      X centre    Y centre    
--------------------------------------------------------------------
   1 	164.000 	203.000
   2 	343.000 	235.000
   3 	373.000      98.000
   4 	281.000      60.000
####################################################################

Après il me reste à mettre en forme. Je vais voir ce que je peux faire sous excel mais je pensais pouvoir m'en sortir avec un LISP.

Didier pour l'erreur G02 G03, tu as raison, je le faisais bien mais en écrivant je me suis trompé.

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

Posté(e)

Coucou

mets-nous en pièce jointe un dessin et le listing tel que tu le souhaites, fais plusieurs exemples avec plusieurs cas de figure,

je vais voir si je trouve du temps pour t'écrire quelque chose.

pour déposer un dwg sur le site, aussi aberrant que cela paraisse, il faut changer l'extension (ou le zipper) les dwg sont refusés sur CadXP, en même temps c'est normal ce n'est pas comme si c'était un site qui parle d'AutoCAD (hihihi)

Amicalement

Posté(e)

Bonjour,

 

Il y a Cov2D→listing→polylignes où l'on peut choisir ces infos et plus encore...

 

Bonne journée!

Xav

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Posté(e)

Coucou

mets-nous en pièce jointe un dessin et le listing tel que tu le souhaites, fais plusieurs exemples avec plusieurs cas de figure,

je vais voir si je trouve du temps pour t'écrire quelque chose.

pour déposer un dwg sur le site, aussi aberrant que cela paraisse, il faut changer l'extension (ou le zipper) les dwg sont refusés sur CadXP, en même temps c'est normal ce n'est pas comme si c'était un site qui parle d'AutoCAD (hihihi)

Amicalement

En pièce jointe, un premier j'ai mis .pdf mais c'est bien sûr un .dwg.

Et le fichier que je souhaiterais :

G01 X100.000 Y141.000
G01 X166.000 Y218.000
G01 X255.000 Y231.000
G02 X383.000 Y145.000 R114.771
G01 X409.000 Y43.000
G03 X585.000 Y-45.000 R130.099
G01 X697.000 Y47.000

TRACE.pdf

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

Posté(e)

Salut crashray!

 

Est ce que c'est ca qu'il te faut?

Les infos sont là comme avec Covadis2D>>Cotation/Division>>information sur une polyligne

Mais après c'est pour remettre en forme automatiquement comme j'ai expliqué dans mon post précédent.

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

Posté(e)

Salut,

 

voici un essai en lisp:

; lwpoline to g-code
;
; bulge to angle from :
; http://www.cadtutor.net/forum/showthread.php?43619-Calculate-the-bulge-of-an-arc.

(defun c:gcode (/ dimbak ent bulge bulgeprev pt ptprev cen cotbce x1 y1 x2 y2 typ rad nbsom nbsom1 recher f1 gfile l1 l2 l3 l4)
   (setvar "cmdecho" 0)
   (setq dimbak (getvar "dimzin"))
   (setvar "dimzin" 0)
   
   (setq f1 (getfiled "Choisissez le fichier gcode a creer" "" "txt" 5))
   (if (/= f1 nil) (progn
       (setq gfile (open f1 "w"))

       (setq ent 0)
       (while (/= ent nil) (progn
           (print)
           (setq ent (entsel "Pointez la polyligne : "))
           (setq ent (car ent))
           (if (/= ent nil) (progn
               (setq typ (cdr (assoc 0 (entget ent))))

               (if (= typ "LWPOLYLINE") (progn

                  (setq ent (entget ent))
                  (setq nbsom (cdr (assoc 90 ent)))
                  (setq nbsom1 1)
                  (setq bulge 0 pt nil)
                  (while (<= nbsom1 nbsom)
                    (setq recher nil)
                    ;recherche les coordonnes du sommet suivant
                    (while (/= recher 10)
                      (setq ent (cdr ent))
                      (setq recher (caar ent))
                    )
                    (setq ptprev pt)
                    (setq pt (cdr (assoc 10 ent)))
                    (setq bulgeprev bulge)
                    (setq bulge (cdr (assoc 42 ent)))
                    
                    (if (= bulgeprev 0) (setq l1 "GO1"))
                    (if (< bulgeprev 0) (setq l1 "GO2"))
                    (if (> bulgeprev 0) (setq l1 "GO3"))
                    (setq l2 (strcat " X" (rtos (car pt) 2 3)))
                    (setq l3 (strcat " Y" (rtos (cadr pt) 2 3)))
                    (if (/= bulgeprev 0) (progn
                        (setq x1 (car  ptprev) x2 (car  pt))
                        (setq y1 (cadr ptprev) y2 (cadr pt))
                        (setq cotbce (/ (- (/ 1.0 bulgeprev) bulgeprev) 2.0))

                        ; Compute center point and radius
                        (setq cen (list (/ (+ x1 x2 (- (* (- y2 y1) cotbce))) 2.0)
                                        (/ (+ y1 y2    (* (- x2 x1) cotbce) ) 2.0))
                        )
                        (setq rad (distance cen ptprev))
                        
                        (setq l4 (strcat " R" (rtos rad 2 3)))
                    )
                        (setq l4 "")
                    )
                    (write-line (strcat l1 l2 l3 l4) gfile)
                    ;(print)

                    (setq nbsom1 (+ nbsom1 1))
                  );_endwhile
               ));_end if lwpline
           ));_end if ent
           (if (/= ent nil) (setq ent 0) (setq ent nil))
       ));_end while ent
       (close gfile)
   ));_end if f1
   
   (setvar "dimzin" dimbak)

)

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Posté(e)

Je retrouve juste comment charger ça, et je l'essaye.

 

Edit : ça me semble très bien. Par contre, ça serait mieux de pouvoir cliquer que sur une polyligne, là on peut cliquer sur plusieurs.

 

Merci beaucoup vincent.

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

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é