| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Gegenteil von flatten (2524 mal gelesen)
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 04. Feb. 2010 13:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe eine Zeichnung mit vielen (tausende) Polylinien (2D) und Blöcken, welche auf den Ecken dieser Polylinien eingefügt sind. Alles liegt noch auf Höhe 0. Die Blöcke haben ein Attribut mit ihrem Z-Wert. Ich soll machen: Eine Zeichnung, in der die Blöcke auf der Höhe ihres Attributwertes eingefügt sind (das ist kein Problem) und die Polylinien sollen ebenfalls auf diese Höhen angehoben werden. Sprich, ich soll aus 2D-Polylinien 3D-Polylinien machen, wobei ich die Höhe des Stützknotens jeweils aus dem Blockattribut nehmen kann. Mir stehen zur Verfügung: Map 3D, Civil 3D. Gibt es dafür Bordmittel? Oder muss man das selber programmieren? Und wenn man Programmieren muss, gibt es dann Dinge auf die man besonders aufpassen muss? Grundlegende VBA-Kenntnisse sind zwar vorhanden, aber bevor ich anfange, würde ich gerne noch sicherstellen, dass ich nicht schon wieder das Rad neu erfinde. lg Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 04. Feb. 2010 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Feb. 2010 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
"Sprich, ich soll aus 2D-Polylinien 3D-Polylinien machen, wobei ich die Höhe des Stützknotens jeweils aus dem Blockattribut nehmen kann."Oder den Z-Wert der Blockreferenz! (nachdem du diese auf die korrekte Höhe geschubst hast) - Hier hast du mal eine ganze einfach Funktion wie man aus einer LWPOLYLINE eine 3D-POLYLINE machen könnte, wenn man da noch eine zusätzliche Funktion unterbringt hast du eigentlich schon was du brauchst. http://forums.augi.com/archive/index.php/t-45963.html jedoch in Lisp, evtl. Hilft es dir ja dennoch Die fehlende Funktion müßte Blockreferenzen suchen die auf den Stützpunkten platziert sind und dann den Z-Wert des Insert auslesen (falls diese bereits auf die korrekte Z-Höhe geschubst wurden) und dann diesen Z-Wert dem X- und Y-wert der LWPolyline hinzufügen um dann mit dieser Koordinate den Stützpunkt der zu erstellenden 3D-Polylinie festzulegen. Hier die Zeile: (setq 3DCoordinates (append 3DCoordinates (list (list (nth Index Coordinates ) (nth (1+ Index ) Coordinates ) 0.0 ))) ) diese "0.0" muß gegen die jeweiligen Z-Werte ausgetauscht werden. Bleibt dir noch: "suche Insert an Koordinate XY" zu erstellen.. damit du an die Z-Werte kommst. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 04. Feb. 2010 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Feb. 2010 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 04. Feb. 2010 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 04. Feb. 2010 15:52 <-- editieren / zitieren --> Unities abgeben:
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 04. Feb. 2010 17:59 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
Ich denke, dass kann man (fast) mit Bordmitteln von Civil 3D machen. a) Zum Setzen der attributierten Blöcke kannst du dieses Tool verwenden (Lisp-Quelltext), ggf. noch anpassen. http://www.cad-huebner.de/lisp.htm#att2h Befehl: ATT2Hb) Aus diesen Blockreferenzen mit Höhe erzeugst du ein DGM (mit Civil 3D) Befehl: _AeccCreateSurfaceDefiniton>Zeichnungsobjekte>Blöcke c) 2D Polylinien in 3D Polylinien umwandeln mit Befehl: _AeccConvertPlinesd) zuletzt 3D Polylinien auf die DGM Höhe (und somit auf Höhe der Blockpunkte) bringen Befehl: _AeccFeatureElevsFromSurf Objekt wählen oder [Mehrere/Partiell]: M Objekte wählen: Entgegengesetzte Ecke angeben: x gefundenDabei keine zusätzlichen Neigungsbrechpunkte (außer wenn gewünscht) einfügen. Fertig.
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 05. Feb. 2010 09:42 <-- editieren / zitieren --> Unities abgeben:
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 667 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 05. Feb. 2010 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
Servus! Ich nehme mal an Du sollst Stützpunkte und Bruchkanten für ein DGM erzeugen. Vor dem Hintergrund dass es sich um "tausende" von Daten handelt hier noch zwei Tipps (aus eigener Erfahrung :-)) für die Umsetzung Deines Programms. - wenn Du die Polylinien oder Linien mittels der Stützpunkte auf 3d schiebst arbeite mit einem 2D-Fangkreis, dann sparst Du Dir jede Menge händische Nacharbeit für die Bruchkanten die nicht sauber gezeichnet wurden. - bastle Dir ein Tool dass testet ob sich Bruchkanten 2D kreuzen. Ciao Georg ------------------ http://www.xxx-tausend.info Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 05. Feb. 2010 18:46 <-- editieren / zitieren --> Unities abgeben:
|