Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD Civil 3D
  Koordinaten einzelner CIVIL-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:  Koordinaten einzelner CIVIL-Punkte (3138 mal gelesen)
joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 15. Nov. 2007 14:36    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,
ich möchte die Koordinaten von CIVIL-Punkten mit LISP auslesen, und da ich mit CIVIL noch ein wenig auf Kriegsfuß stehe komme ich da noch zu keiner sinnvollen Lösung.

Letztendlich möchte ich an den Positionen der CIVIL-Punkte Blöcke einfügen, und zwar die, die auch in dem Punktstil als AutoCAD-Blöcke zugewiesen sind. Zudem muß ich dann noch die Punktnummern und Höhen für die Attributsfüllungen haben.

Hier nun mein Versuch:

Code:

(defun C:test  (/ aws_point_group vlax-p_gobj punktnrn blockname)
  (vl-load-com)
  (if (setq aws_point_group (ssget '((0 . "AECC_POINT_GROUP"))))
    (setq vlax-p_gobj (vlax-ename->vla-object (ssname aws_point_group 0))
  blockname  (vlax-get-property
(vlax-get-property vlax-p_gobj "PointStyle")
"MarkerSymbolName")
  punktnrn      (vlax-safearray->list
(vlax-variant-value
  (vlax-get-property vlax-p_gobj "Points"))))))

Was ich also bis jetzt habe ist der Blockname und die Punktnummern in einer Liste.

------------------
viele Grüße

Jörn

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

ida-stade
Mitglied
Bauingenieur


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

Beiträge: 700
Registriert: 04.03.2006

AEC-Collection 2021, Intel Core i7-7700K, 4,2Ghz, 16 GB RAM, 1 TB SSD, 2 Monitore PhilipsBDM4350(4k, 43Zoll) man braucht ja Platz auf dem Bildschirm...

erstellt am: 15. Nov. 2007 18:09    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 joern bosse 10 Unities + Antwort hilfreich

Hallo Jörn!
Von Lisp habe ich leider bisher keine Ahnung. Aber 'mal die Frage: Warum keine Lösung innerhalb von CIVIL?
Wenn Du z.B. nur bei einigen Punkten ein Symbol haben willst, könntest Du eine gesonderte Punktgruppe erstellen und die entsprechenden Punkte per Auswahl zuordnen.
Auch die Darstellung von Höhen, Koordinaten, Punktnummern usw. läßt sich so steuern.
Um die Darstellung zu verbessern, lassen sich die Beschriftungen usw. auch noch drehen, was auch für mehrere Punkte gleichzeitig möglich ist.
Falls ich es nicht getroffen haben sollte, stell doch einmal ein Bild ein, wie es aussehen soll.
Gruß Dietrich

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

Map/Civil 3D 2005-2023, aktuelle SPs.

erstellt am: 15. Nov. 2007 22:30    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 joern bosse 10 Unities + Antwort hilfreich

Ich hab da mal etwas Code zum Testen für dich erstellt (quick & Dirty, keine lokalen Variablen usw.)

Zu beachten ist, dass das Auswahlen von Punkten in 2008 geändert wurde, da lässt sich ein Punktobjekt direkt anwählen, nicht der Umweg über die Punktgruppe.


Code:
(vl-load-com)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(DEFUN C:ListCivil2008Points ( )
  (prompt "\nCivil Punkte auflisten in Civil 3D 2008 - Demo von www.CAD-Huebner.de")

  (if (not (setq AeccObj (connecttocivil)))
    (progn
      (prompt "\nCivil 3D steht nicht zur Verfügung - Programm abgebrochen!")
      (exit)
    )
  )   

  (setq aeccDoc (vlax-get AeccObj "activedocument"))
  (Prompt "Civil Punkte wählen:")
  (if (setq ss (ssget (list (cons 0 "AECC_COGO_POINT"))))
    (progn
      (setq cnt (sslength ss))
      (while (>= (setq cnt (1- cnt)) 0)
        (setq Ptobj (vlax-ename->vla-object (ssname ss cnt)))
(vlax-dump-object PtObj)
      )
    )
  )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(DEFUN C:ListCivil2007Points ( )
  (prompt "\nCivil Punkte auflisten in Civil 3D 2007 - Demo von www.CAD-Huebner.de")

  (if (not (setq AeccObj (connecttocivil)))
    (progn
      (prompt "\nCivil 3D steht nicht zur Verfügung - Programm abgebrochen!")
      (exit)
    )
  )   

  (setq aeccDoc (vlax-get AeccObj "activedocument"))
  (Prompt "Alle Civil Punkte auflisten:")
  (vlax-dump-object (setq aeccPoints (vlax-get-property aeccDoc "Points")))
  (vlax-for Point aeccpoints
    (vlax-dump-object Point)
  )
  (Prompt "Civil Punkte/Punktgruppe wählen:")
  (if (setq ss (ssget (list (cons 0 "AECC_POINT_GROUP"))))
    (progn
      (print (setq cnt (sslength ss)))
      (while (>= (setq cnt (1- cnt)) 0)
        (setq PtgroupObj (vlax-ename->vla-object (ssname ss cnt)))
(vlax-dump-object vlaPtObj)
(setq Pointlist (vlax-get-property PtGroupObj "Points"))
; alle Punkte der gewählten Punktegruppe auflisten
(Foreach PointNo (vlax-safearray->list (vlax-variant-value Pointlist))
  (vlax-dump-object (vlax-invoke-method aeccPoints "Find" PointNo))
)
      )
    )
  )
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun connecttocivil ( /  AECCOBJ aecstring)
  (setq aecstring
(cond
  ((= (atof (getvar "acadver")) 16.2) "AeccXUiLand.AeccApplication.3.0"); 2006
  ((= (atof (getvar "acadver")) 17.0) "AeccXUiLand.AeccApplication.4.0"); 2007
  ((= (atof (getvar "acadver")) 17.1) "AeccXUiLand.AeccApplication.5.0"); 2008
  ('T "AeccXUiLand.AeccApplication")
        )
  )
  (if
    (vl-catch-all-error-p
      (setq AeccObj
      (vl-catch-all-apply
        'vla-getinterfaceobject
        (list (vlax-get-acad-object) aecstring) ; connect to Civil 3D
      )
      )
    )
    NIL
    AeccObj
  )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Jetzt nur noch bei den Punkten die Properties
Location oder Easting, Northing und Elevation abfragen, das wars dann schon.

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

Udo Hübner

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 16. Nov. 2007 07: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

@Dietrich,
es geht darum, wenn ich z.B. in Hamburg Zeichnungen abgeben muß, nach dem Hamburger Normierungskatalog (dortige Zeichenvorschrift), dann muß ein 3D-Punkt durch einen Block dargestellt werden, mit den Attributen Punktnummer, Höhe, Bemerkung, ein CIVIL-Punkt ist nicht zulässig. Und deshalb bin ich ein bißchen am rumexperimentieren.
@Udo,
auf Deine Antwort habe ich schon heimlich gehofft, ich werde Deine Codes aber erst nächste Woche ausprobieren können, die U's gibt es erstmal auf verdacht, aber ich denke, sie sind gut investiert.
Ich melde mich auf jeden Fall, ob es funktioniert hat oder nicht.

Ganz nebenbei, gibt es sonst keinen, der mein Problem bereits gehabt hat?

------------------
viele Grüße

Jörn

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

Map/Civil 3D 2005-2023, aktuelle SPs.

erstellt am: 16. Nov. 2007 08:30    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 joern bosse 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von joern bosse:
...Ganz nebenbei, gibt es sonst keinen, der mein Problem bereits gehabt hat?

Doch, genau das gleiche Problem kenn ich gut, allein schon um Kunden ohne Civil auch eine etwas intelligentere Zeichnung übergeben zu können.
Aber das Problem dabei ist, das ein Civil Punkt 2 Stile besitzt, einen Punktstil (Block für Symbol) und einen Punktbeschriftungsstil , somit gibt es keine echte Chance gleiche Darstellung aller Punkte nach Umwandlung in Blöcke mit Attributen zu gewährleisten. Dann muss man vorher Festlegungen treffen, dass bestimmte Civil Funktionalitäten nicht genutzt werden dürfen.


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

Udo Hübner

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 18. Nov. 2007 09:16    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 Udo,
ich wollte Dir nur sagen, daß ich mit Deinen Codes weitergekommen bin, danke.

------------------
viele Grüße

Jörn

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