Aller au contenu

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


Messages recommandés

Posté(e)

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

 

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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 - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

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

Posté(e)

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

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

Bonjour,

Un grand merci à tous pour vos retours 🙂

Les points COGO, de prime abord, ont l'intérêt d'avoir un style attribué, de pouvoir faire partie d'un groupe mais j'avoue que je ne connais pas suffisamment Civil3D pour vraiment vous renseigner sur ça ^^

J'ai une formation prévue bientôt... Wait and see 😉

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é