| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Double-Werte in Xrecord ablegen (552 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 19. Jul. 2016 17:44 <-- editieren / zitieren --> Unities abgeben:
Ich möchte Zahlen in Bibliotheken speichern. Dazu verwende ich die Zeile: DXF.Add(New TypedValue(i, zahl)) Solange i zwischen 40 und 59 ist funktioniert das. Gebe ich für i = 110 ein, führt das zur Fehlermeldung. Obwohl 40 als auch 110 nach der DXF-Referenz ein "Double-precision floating-point value" ist. Gibt es doch noch einen anderen Unterschied? Oder was muß ich beachten? Mit i = 460 funktioniert es wieder. Was auch wieder ein "Double-precision floating-point value" ist. Wie speichert man viele Double-Werte einfach in einem DXF-Record ab? Weiß jemand ein Beispiel?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingenieur Studio HOLLAUS Mitglied CAD / CAFM / GIS Beratung-Programmierung-Schulung
Beiträge: 1049 Registriert: 06.11.2008 Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks) RKV .... CAFM+mehr HMap ... Vermessung und Verkehr OoC .... Raumplanung CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)
|
erstellt am: 19. Jul. 2016 19:51 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
dazu gibt es die Enum's, die man dazu verwenden kann, per Namen die richtigen Zuweisungen zu finden DxfCode.Real entspricht dem Wert 40 und solange Deine Variable "zahl" einen Double Wert enthält, kann das auch so gespeichert werden. Zitat: Gebe ich für i = 110 ein, führt das zur Fehlermeldung
Der Code 110 steht lt. >>>diesem Doc, Seite 7<<< für den X-Wert eines UCS, das kann nicht einfach so als Double für etwas anderes herangenommen werden. ------------------
www.cars4fun.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 20. Jul. 2016 08:21 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Antwort. Soweit habe ich das verstanden. Unter der 40 kann ich also einen Double-Wert speichern. Von 40 bis 59 sind es dann insgesamt 20 Werte die ich ablegen kann. Aber wie kann ich vorgehen wenn ich weitere Werte speichern möchte. Ist es dann am besten einen weiteren XRecord anzulegen und dort wieder die 40-59 zu verwenden. Oder kann ich doch in einem XRecord mehr Zahlen ablegen. Gruß Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingenieur Studio HOLLAUS Mitglied CAD / CAFM / GIS Beratung-Programmierung-Schulung
Beiträge: 1049 Registriert: 06.11.2008 Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks) RKV .... CAFM+mehr HMap ... Vermessung und Verkehr OoC .... Raumplanung CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)
|
erstellt am: 20. Jul. 2016 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 20. Jul. 2016 10:21 <-- editieren / zitieren --> Unities abgeben:
Wow. Da hatte ich nen gewaltigen Denkfehler drin. Ich dachte wirklich ich kann jeden Code nur einmal verwenden und habe diese dann auch ähnlich eines Indexes verwendet. Das heißt ich kann die "vierzig" wirklich 50 mal in einem Resultbuffer verwenden. Das löst meine Speicher-Probleme. Ich hatte schon Überlegt die X,Y und Z Werte von Punkten zu verwenden um mehr "Speicherplätze" zu haben. Aber ich habe auch im Internet kein einziges Beispiel gefunden in dem ein Code mehrfach verwendet wurde. Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ingenieur Studio HOLLAUS Mitglied CAD / CAFM / GIS Beratung-Programmierung-Schulung
Beiträge: 1049 Registriert: 06.11.2008 Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks) RKV .... CAFM+mehr HMap ... Vermessung und Verkehr OoC .... Raumplanung CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)
|
erstellt am: 21. Jul. 2016 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
Zitat: Ich dachte wirklich ich kann jeden Code nur einmal verwenden
So falsch ist die Annahme nicht, wenn man mit ObjectARX arbeitet und benutzerdefinierte Objekte machen will, deren Eigenschaften sich über diese Codes definieren (da darf es einen Farbwert nur einmal geben, das passt schon). Aber bei ResultBuffer allgemein/XRecords/EEDs hat das keine Relevanz, wenn es notwendig ist, kann ich da tatsächlich 3 Farbwerte in den Speicherbereich festlegen, wenn es für mich/meine App notwendig ist. ------------------
www.cars4fun.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |