Jump to content

Ajout automatique de point sur tous les sommets de toutes les polylignes 3D


Recommended Posts

Bonjour à tous,

J'aimerais pouvoir créer des points cogo sur tous les sommets de toutes les poly3D.

Pour l'instant,j'utilise la commande "sommets de polyligne automatique" mais il faut sélectionner les polylignes une par une, ça peut vite prendre du temps...

Y-a-t-il la possibilité de toutes les sélectionner pour générer tous les sommets?

Merci d'avance

 

Link to post
Share on other sites

Hello

Voici une vieille routine "NOD-PL" de Bred qui ajoute des Points sur les Polylignes ... Apres il faudra en faire des Points COGO ...

Attention : quand les Polylignes sont splinees, les points sont ajoutes sur les Sommets / Vertex ORIGINAUX (Extremites des Segments) !

Routine tiree de mon stock de 3001 routines ... En esperant que cela puisse t'aider !?

La Sante, Bye, lecrabe (triste & fatigue)

 

;;; Met Nodal sur sommet plylignes - par Bred le 27/05/08
;;; Routine : NOD-PL

(vl-load-com)

(defun c:nod-pl (/ I LST-COORD OB SEL Y R)
(or (setq sel (ssget '((0 . "VERTEX,*POLYLINE"))))
(setq sel (ssget "_X" '((0 . "VERTEX,*POLYLINE")))))
(repeat (setq i (sslength sel))
(setq ob (vlax-ename->vla-object (ssname sel (setq i (1- i))))
lst-coord (vlax-safearray->list (vlax-variant-value (vla-get-Coordinates ob))))
(setq y 0)
(if (equal (vla-get-ObjectName ob) "AcDbPolyline")
(setq r 2)
(setq r 3))
(repeat (/ (length lst-coord) r)
(vla-addpoint
(if (= (getvar "CVPORT") 1)
(vla-get-PaperSpace (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))
)
(vlax-3d-point (list (nth y lst-coord)
(nth (setq y (1+ y)) lst-coord)
(if (equal (vla-get-ObjectName ob) "AcDbPolyline")
0.0
(nth (setq y (1+ y)) lst-coord)))))
(setq y (1+ y))
)

)
(princ)
)

 

Autodesk Expert Elite Team

Link to post
Share on other sites

Bonjour @yubari

Puisque vous parlez de points COGO vous disposez certainement d'une version pleine, fût-ce un produit vertical tel que Civil.

Donc, il est possible de vous répondre en LSP (ou VBA), en programmation en tout cas.

À moins qu'il existe une fonction native que les spécialistes de Civil se feront un plaisir de venir vous écrire.

Pour bien comprendre ce qu'il y a à faire j'aimerais lire ce qui différencie les points COGO des entités "points" AutoCAD,
quelles informations supplémentaires en font des points COGO ?

Je suis quasi certain que Civil propose du natif, que ce soit pour immatriculer ou pour extraire.
 

 

 

Amicalement

Link to post
Share on other sites

Bonjour,

 

Les COGO Point sont des objets spécifiques Civil qui ne sont pas des entités de base AutoCAD, mais uniquement géré par Civil 3D. On récupère des PROXY-ENTITY dans AutoCAD Vanilla.

Il n'y a pas d'API Lisp direct pour Civil, ce qui oblige à passer par l'interface COM, sinon c'est du .Net.

Pour l'immatriculation, il n'y a rien de natif il me semble pour traiter un ensemble de polyligne (ou FeatureLine).

Il faudrait voir du côté de Dynamo, ça doit le faire.

 

Olivier

Link to post
Share on other sites

Bonjour @Olivier Eckmann

Merci de ce début d'explication, mais j'aimerais savoir le genre de données qu'on peut intégrer pour que le point soit "gogo"

On parle de coordonnées ? d'abscisse curviligne ? d'altitude ? ... autre chose encore ?

Merci

 

Link to post
Share on other sites

Salut,

Je ne connais pas Civil, mais s'il existe une commande "sommets de polyligne automatique" qui demande à sélectionner une polyligne, on devrait pouvoir appeler cette commande en LISP pour chaque polyligne d'un jeu de sélection.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Link to post
Share on other sites

Salut @(gile), @didier

 

La commande est "CREATEPTPLYLNCTRVERTAUTO" et elle boucle en demandant de sélectionner une polyligne, jusqu'à sortir par Entrée

Un cogo point c'est comme un point topo avec des coordonnées XYZ , mais c'est un objet spécifique. Voilà le résultat de la commande Liste

Commande: LS LISTE 1 trouvé(s)
                  AECC_COGO_POINT  Calque: "0"
                            Espace: Espace objet
                   Maintien = 7e62
     Groupe de points principal : _Tous les points
                Numéro de point : 2
                            Nom : point - (1)
                       Ordonnée : 149.6574m
                       Abscisse : 339.1551m
              Altitude du point : 0.000m
Ordonnée d'origine de la grille : 149.6574m
Abscisse d'origine de la grille : 339.1551m
                       Latitude : S005° 58' 58.11"
                      Longitude : O001° 21' 39.68"
          Coefficient d'échelle : 1.450
                    Convergence : -003° 09' 51.81"
           Point de topographie : Faux

et l'interrogation lisp

Commande: (entget (car (entsel)))
Choix de l'objet: ((-1 . <Nom d'entité: 27c1e862ba0>) (0 . "AECC_COGO_POINT") (330 . <Nom d'entité: 27c1a8d4680>) (5 . "7E62") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AeccDbCogoPoint"))

 

Olivier

Link to post
Share on other sites

Hello

1) Vous utilisez la routine Lisp "NOD-PL" de Bred !

2) Puis vous suivez cette Video CIVIL ... Dont le titre est "How to convert AutoCAD Points to Civil 3D Points"

SVP regardez bien le parametrage des futurs Points COGO entre 33 secs et 1 mn 12 !

Ne vous fiez pas a la 1ere Image qui semble concerner les Polylignes !

La commande cruciale est _AeccCreatePoints

 

Et si il s'agissait de convertir des Blocs en Points COGO alors voir l'image jointe ...

 

La Sante, Bye, lecrabe (triste & fatigue)

 

ACAD_CIVIL__Create_Cogo_Points_from_Blocks_1.jpg

Autodesk Expert Elite Team

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...