| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Volumenkörper Geometriedaten auslesen (2865 mal gelesen)
|
mldesign Mitglied
Beiträge: 7 Registriert: 03.06.2014
|
erstellt am: 03. Jun. 2014 11:35 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 03. Jun. 2014 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 03. Jun. 2014 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
Zitat: Original erstellt von mldesign: Hallo kann mir jemand einen Lisp Code nennen wie ich aus einem Volumenkörper die Geometriedaten auslesen kann (z.B. Länge)
mhhh von welcher Art ist der Körper ? Wer sagt was die "Länge" ist ? cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mldesign Mitglied
Beiträge: 7 Registriert: 03.06.2014
|
erstellt am: 03. Jun. 2014 13:54 <-- editieren / zitieren --> Unities abgeben:
Bei den Volumenkörper gibt es z.B. bei einem Quater, in den Eigenschaften eine Länge, Breite und Höhe. Bei extrudierten Objekten z.B. gibt es nur eine Höhe. Mir wäre schon geholfen wenn ich diese Daten mit Angabe des Parameters auslesen kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 03. Jun. 2014 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
dann kommen wir der Sache schon näher aber siehe "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." und dann noch .. welche Software ? cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mldesign Mitglied
Beiträge: 7 Registriert: 03.06.2014
|
erstellt am: 03. Jun. 2014 14:14 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 03. Jun. 2014 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
|
mldesign Mitglied
Beiträge: 7 Registriert: 03.06.2014
|
erstellt am: 03. Jun. 2014 14:59 <-- editieren / zitieren --> Unities abgeben:
Ne eigentlich weiß ich nicht worauf Du hinauswillst. Es müsste doch eine einfache Funktion geben um auf die Properties der Volumenkörper zugreifen zu können. Ich will die Daten auslesen und in eine Datenbank übertragen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 03. Jun. 2014 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 03. Jun. 2014 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 03. Jun. 2014 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 03. Jun. 2014 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
Irgendwo mussde ja mal anfangen. Vielleicht bringt das den Frager ja auch mal zum Nachdenken über die Möglichkeiten Wobei sein Bedürfnis wahrscheinlich schon über die BoundingBox Methode zu Befriedigen zu sein dürfte. ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 04. Jun. 2014 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
Zitat: Original erstellt von mldesign: Hallo kann mir jemand einen Lisp Code nennen wie ich aus einem Volumenkörper die Geometriedaten auslesen kann (z.B. Länge)
Was bedeutet bei einem beliebigen Körper der Begriff "Länge"? Seine Breite entlang der X-Achse? Du wirst einige Daten direkt auslesen können, Du kannst aber vermutlich in den einzelnen Koordinatenebenen die Umgrenzungsbox (probier' mal vla(x?)-boundary oder ähnlich) ermitteln. Die echten ACIS-Geometriedaten des Körpers aber sind als String im Gruppencode-1-Entitydaten verschlüsselt. Der Schlüssel ist aber nur eine extrem simple XOR-Verknüpfung jedes Zeichens mit dem Wert 95. Mit unten stehendem Code kannst Du die ACIS-Daten auslesen und entschlüsseln. Wenn Du einen Weg findest, sie richtig zu interpretieren und zu bearbeiten, kannst Du die geänderten Daten auch wieder verschlüsseln und anwenden: Code:
(defun acis-string (en / tok result) (foreach tok (entget en) (if (= 1 (car tok)) (setq result (cons (cdr tok) result)) ) ) (apply 'strcat result) )(defun acis-decrypt (string / temp i len) (setq len (strlen string)) (setq i 0) (setq temp "") (while (< i len) (setq i (+ i 1)) (setq c (ascii (substr string i 1))) (if (/= c 32) (setq temp (strcat temp (chr (boole 6 95 c)))) ; else (setq temp (strcat temp " ")) ) ) ) (defun acis-encrypt (st / ln n c st1) (setq st1 "" n (strlen st) ) (while (> n 0) (setq c (ascii (substr st n 1))) (setq st1 (strcat (cond ((= c 32) " ") ((= c 86) "I") ((chr (boole 6 c 95))) ) st1 ) ) (setq n (1- n)) ) st1 )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 04. Jun. 2014 12:03 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
Zitat: Original erstellt von archtools:
Wenn Du einen Weg findest, sie richtig zu interpretieren und zu bearbeiten, kannst Du die geänderten Daten auch wieder verschlüsseln und anwenden
Als Hilfestellung dazu: ACIS ist der Volumenmodellierer in AutoCAD und BricsCAD. ACIS ist ein B-Rep-Modellierer, B-Rep steht für Boundary Representation. Hier werden Körper durch ihre begrenzenden Flächen beschrieben. In ACIS dürfen die begrenzenden Flächen NURBS sein (non-uniform rational B-Splines). NURBS werden im CAD-Umfeld gerne als "Freiformflächen" bezeichnet, weil sich damit grundsätzlich jede Form mathematisch beschreiben lässt. Übrigens: in AutoCAD 12 (nicht 2012!) war in AutoCAD ein CSG-Modellierer integriert. CSG steht für Constructive Solid Geometry. Hier wird in einer Baumstruktur die Entwicklungsgeschichte eines aus ursprünglich primitiven Grundkörpern zusammengesetzten Volumenkörpers beschrieben. Der Vorteil ist, dass hier nachträglich noch jeder Parameter auch längst durch Subtraktion verschwundener Körper ändern lässt. Nachteil ist der hohe Speicher- und Rechenbedarf. http://de.wikipedia.org/wiki/Boundary_Representation http://de.wikipedia.org/wiki/NURBS http://de.wikipedia.org/wiki/Constructive_Solid_Geometry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 04. Jun. 2014 13:26 <-- editieren / zitieren --> Unities abgeben: Nur für mldesign
also wenn es Dir nur um Grundkörper geht (Primitive), dann könntest Du mit dieser Zeile Code: (entget (cdr (assoc 360 (entget (cdr (assoc 360 (entget (cdr (assoc 350 (entget (car (entsel "\nVolumenkörper auswählen: "))))))))))))
weiterexperimentieren. Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mldesign Mitglied
Beiträge: 7 Registriert: 03.06.2014
|
erstellt am: 04. Jun. 2014 15:04 <-- editieren / zitieren --> Unities abgeben:
|