Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  nochmal Cogo Punkte

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  nochmal Cogo Punkte (2031 mal gelesen)
proyectista
Mitglied
Technische Zeichnerin


Sehen Sie sich das Profil von proyectista an!   Senden Sie eine Private Message an proyectista  Schreiben Sie einen Gästebucheintrag für proyectista

Beiträge: 39
Registriert: 23.02.2008

Xeon E5530 2.4Ghz
4 GB RAM
Windos 7 / 64bits
Civil 3D 2011

erstellt am: 16. Jul. 2008 04:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,

hab wiedermal (oder besser gesagt immernoch) das Problem,
keine cogo points (C3D 2008) via Lisp erzeugen zu koennen;
Ich kann Daten vorhandener Punkte auslesen oder sogar aendern,
aber neue Punkte in die Zeichnung einzufuegen bekomm ich einfach nicht hin...
Kann mir da jemand helfen?

mein Datensatz sieht so aus:
(("y" "x" "z" "description")...)  

;;; auslesen und aendern klappt bestens:
(setq  cogopto (vlax-ename->vla-object (CAR (ENTSEL))));;#<VLA-OBJECT IAeccPoint 129c6968>
(vlax-get-property  cogopto "NUMBER");;;-> 3
(vlax-get-property  cogopto "NORTHING");;;-> 36.2532
(vlax-get-property  cogopto "EASTING");;;-> 42.401
(vlax-get-property  cogopto "FullDescription");;;-> "F"
(vlax-get-property  cogopto "ELEVATION");;;-> 46.0
(vlax-PUT-property  cogopto "ELEVATION" 66.0);;;-> 46.0
(vlax-PUT-property  cogopto "LABELSTYLE" "COPY1");;;->nil
(vlax-PUT-property  cogopto "NORTHING" "60");;;->nil

------------------
Jovi (sin Bon).

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 16. Jul. 2008 07:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Morgen,
vllt. nütz dir auf http://www.cadlantic.com/Freebies.htm
add_cgpoints.lsp
mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

proyectista
Mitglied
Technische Zeichnerin


Sehen Sie sich das Profil von proyectista an!   Senden Sie eine Private Message an proyectista  Schreiben Sie einen Gästebucheintrag für proyectista

Beiträge: 39
Registriert: 23.02.2008

erstellt am: 17. Jul. 2008 01:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Dorfy, vielen Dank fuer den Tipp - leider hat das nicht geklappt - das lisp scheint sich nur auf Land Desktop Cogo Points zu beziehen:

(Add_CGpoint (list 1.0 5.0 3.0) 1)
Land Desktop Cogo application not loaded.nil

Im Land 2005 hatte ich das Problem mit DXF-Group-Codes geloest, naemlich so:

(defun MkCogoPto (pto3d ptoIns ptoNum desc1 desc2 lay / )
(entmake (list
    '(0 . "AECC_POINT")'(100 . "AcDbEntity")'(67 . 0)'(410 . "Model")
    (cons 8 lay)'(100 . "AecDbEntity")'(102 . "{AEC_SUBOBJECT")
    '(300 . "AeccImpPoint")'(100 . "AecImpObj")'(3 . "")'(100 . "AecImpEnt")
    '(171 . 0)'(100 . "AecImpGeo")(cons 10 ptoIns)                                ;;;textIns
    '(15 1.0 0.0 0.0)'(16 0.0 1.0 0.0)'(210 0.0 0.0 1.0)'(100 . "AeccImpPoint")
    (cons 90 ptonum)                                                              ;;; ptoNum
    (cons 11 pto3d)                                                              ;;;pto verdadero (con z)
    (cons 302 desc1)                                                              ;;;desc 302+203
    '(301 . "")'(300 . "")'(280 . 0)(cons 303 desc2)'(304 . "")'(305 . "")
    (cons 10 PtoIns)                                                              ;;;ptoins pto
    '(285 . 1)'(286 . 0)'(170 . 3)'(141 . 5.0)'(306 . "Standard")'(140 . 0.5)'(282 . 1)
    '(283 . 1)'(284 . 1)'(171 . 2)'(172 . 1)'(173 . 3)'(287 . 1)'(142 . 0.0)'(288 . 1)
    '(102 . "AEC_SUBOBJECT}")'(102 . "{AEC_NULLOBJECT}")'(100 . "AecDbGeo")'(100 . "AeccDbPoint")
)) );;; end defun

vielleicht nicht gerade von der elegantesten Art, aber es erfuellte seinen Zweck und
klappte wunderbar. Leider arbeite ich kaum mit den vlax oder vla Funktionen, bis heute trau ich mich da nicht ran - das gute alte Lisp tuts aber leider nimmer in allen faellen. (heute arbeite ich mit dem Civil 2008)

Noch jemand mit ner guten Idee?

Danke im Voraus!

------------------
Jovi (sin Bon).

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 17. Jul. 2008 07:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Morgen,
IMHOIn my humble oppinion (Meiner Meinung nach) liegt es erstmal an der Zeile...
Was auch immer da bei civil hin muss...
...da ich keine civil habe, muss ich da auch passen
(setq AeccApp
      (vl-catch-all-apply
        'vla-getinterfaceobject
        (list *acad* "aecc.application");<---
      )
    )
mfg heiko

Edit:

versuche mal

vla-getinterfaceobject --> "AeccXUiLand.AeccApplication.4.0"
oder
vla-getinterfaceobject --> "AeccXUiLand.AeccApplication.5.0"

[Diese Nachricht wurde von Dorfy am 17. Jul. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 17. Jul. 2008 16:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Hier mal ein funktionierender und kommentierter Beispielcode zum Erzeugen eines Civil Punktes in Civil 3D 2008, läuft aber auch in anderen Civil Versionen (dann Interfacebezeichnung anpassen)

Code:
(vl-load-com)
(defun ExamplecreateCivilPoint ()
  ; zuletzt getestet mit Autodesk Civil 3D 2008 (connectstring angepasst)
  ; Udo Hübner - www.CAD-Huebner.de
  ; am 2.1.2006 bei discussion.autodesk.com gepostet
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (setq acadObj  (vlax-get-acad-object)
        aeccApp  (vla-getinterfaceobject acadObj "AeccXUiLand.AeccApplication.5.0") ; connect to Civil 2008
        aeccDoc  (vlax-get aeccApp "activedocument")
        aeccPoints(vlax-get aeccDoc "Points")
        pnt      (vlax-3d-point '(1.0 2.0 3.0)) ; define Point
        aeccPoint (vla-add aeccPoints pnt)      ; create Civil Point
  )
  (vlax-put-property aeccPoint 'name "Hello")    ; add a Point descriptionkey
)

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

proyectista
Mitglied
Technische Zeichnerin


Sehen Sie sich das Profil von proyectista an!   Senden Sie eine Private Message an proyectista  Schreiben Sie einen Gästebucheintrag für proyectista

Beiträge: 39
Registriert: 23.02.2008

erstellt am: 18. Jul. 2008 02:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Dorfy und CAD-Huebner,

super, hat gefunkt und einige meiner lisps funktionieren endlich wieder,
ganz grosse Klasse!

(Der Code ist mir sogar verstaendlich, obgleich mir
die vlax und vla Funktionen ein Raetsel sind.
Die werden ja nicht einmal in der Hilfe beschrieben, man kann weder
Syntax noch genauere Beschreibung finden...)

nen schoenen Tag noch!

------------------
Gruss Jovi.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

THE_ONE
Mitglied
Student, Alter:23


Sehen Sie sich das Profil von THE_ONE an!   Senden Sie eine Private Message an THE_ONE  Schreiben Sie einen Gästebucheintrag für THE_ONE

Beiträge: 299
Registriert: 27.04.2005

AMD XP 2000, 512MB-RAM, WIN XP Pro
Readon 9600Pro
VIZ 2005, Autocad 2007,(Mechanical)

erstellt am: 29. Jul. 2008 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Was sind COGO Punkte(Koordinatengeometriepunkte)?? Wie unterscheiden sie sich normale 3d Punkte in Autocad zu den COGO Punkten? Gibt es diese nur in Autdesk AutoCad Civil3d??

Lg THE_ONE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

proyectista
Mitglied
Technische Zeichnerin


Sehen Sie sich das Profil von proyectista an!   Senden Sie eine Private Message an proyectista  Schreiben Sie einen Gästebucheintrag für proyectista

Beiträge: 39
Registriert: 23.02.2008

erstellt am: 03. Aug. 2008 02:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo One,

genau. Cogo-punkte wie ich sie nenne, sind eigene Elemente ("AECC_COGO_POINT") und koennen nicht im "normalen" Autocad erzeugt werden - ganz grob gesagt: vom normalen Autocad-punkt unterscheiden sie sich hauptsaechlich darin, dass sie nicht nur die Koordenaten, sondern auch Punktnummer und Deskription speichern koennen.

------------------
Gruss Jovi.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CadNightJo
Mitglied
Brücken - Konstrukteur


Sehen Sie sich das Profil von CadNightJo an!   Senden Sie eine Private Message an CadNightJo  Schreiben Sie einen Gästebucheintrag für CadNightJo

Beiträge: 38
Registriert: 25.06.2008

WIN XP SP 3
Vestra/Civil 2009

erstellt am: 15. Mrz. 2009 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Hallo Jovi,
das erzeugen von cogo Points via Lisp hört sich sehr interessant an!
Hast Du vielleicht ein fertiges lisp zum probieren?

VG jo.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 15. Mrz. 2009 14:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Die Frage versteh ich jetzt nicht.
Drei Beiträge vorher hab ich doch ein fertiges Lisp zur Erzeugung von Civil Punkten (AEC_COGO_POINTS) gepostet für Jovi.
Die Lisp-Routine läuft auch unter Civil 3D 2007, sofern man den Initialisierungsstring von Getinterfaceobject von 5.0 auf 4.0 anpasst.

Dann nur noch
Befehl: (examplecreatecivilpoint)
engeben und die Routine erzeugt einen neuen Civil Punkt.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ifga
Mitglied
Beratender Ingenieur


Sehen Sie sich das Profil von ifga an!   Senden Sie eine Private Message an ifga  Schreiben Sie einen Gästebucheintrag für ifga

Beiträge: 29
Registriert: 05.11.2003

erstellt am: 22. Dez. 2009 16:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für proyectista 10 Unities + Antwort hilfreich

Ich habe den Beispielcode zur Erzeugung von Cogo-Punkten noch ergänzt und wollte noch benutzerdefinierte  Attribute anhängen, mit der Methode SetUserDefinedProbertyValue, aber mit steigt vlax-invoke-method aus.   Habe ich hier den falschen Ansatz gewählt?


  (setq acadObj  (vlax-get-acad-object)
        aeccApp  (connecttocivil) ; connect to Civil
        aeccDoc  (vlax-get aeccApp "activedocument")
        aeccPoints(vlax-get aeccDoc "Points")
        pnt      (vlax-3d-point 3d) ; define Point
        aeccPoint (vla-add aeccPoints pnt)      ; create Civil Point
  )
  (vlax-put-property aeccPoint 'name name)    ; add a Point descriptionkey Name
  (vlax-put-property aeccPoint 'Layer (strcat "VE-SYMBOL-S" code))    ; add a Point descriptionkey Layer
  (vlax-put-property aeccPoint 'Description code)                      ; add a Point descriptionkey Kurzbeschreibung
  (vlax-put-property aeccPoint 'Descriptionformat "$*")              ; add a Point descriptionkey Beschreibungsformat
  (vlax-put-property aeccPoint 'Style (strcat "S" code))    ; add a Point descriptionkey Punktstil
  (vlax-put-property aeccPoint 'LabelStyle "NZ")  ; add a Point descriptionkey Punktbeschriftungsstil
  (if (/= att1 nil)
    (progn
      (setq methode (vlax-method-applicable-p aeccPoint 'SetUserDefinedPropertyValue)) ; frägt Methode ab
      (if methode
        (vlax-invoke-method aeccPoint 'SetUserDefinedPropertyValue (vlax-make-variant schluessel1) (vlax-make-variant "HALLO"))    ; add a userdefined Point  descriptionkey
                                     
        )
      )
    )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz