| |
| 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: BKS Im- und Export (3026 mal gelesen)
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 19. Jul. 2010 10:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte BKS's Im- und Exportieren, und will diese über ein Textdatei lösen, die ich mit LOAD wieder laden kann. Mein Problem ist, wenn ich ein in der Textdatei gespeichertes BKS über load importiere und dann mit ENTMAKE erstelle, dann erscheint folgende Meldung von AutoCAD, wenn ich das BKS dann aktuell stelle: " nicht einheitliche BKS-Y-Achse; wird normalisiert" 1. Was hat das zu bedeuten 2. Wie bekomme ich die Meldung weg. In folgendem Beitrag http://ww3.cad.de/foren/ubb/Forum54/HTML/007040.shtml wurde eigentlich schonmal genau dasselbe Thema abgehandelt, mit dem gleichem Problem. Die Lösung die dort vorgeschlagen wurde Zitat: (command "_ucs" "_restore" ucsname "_ucs" "_save" ucsname "_yes")
funktioniert zwar, aber bei Ausführung dieser Command-Befehle wird wieder die oben genannte AutoCAD-Meldung 2x ausgegeben. D.h., wenn ich es so löse, dann muss ich die AutoCAD-Meldung pro importiertes BKS 2x bestätigen, das ist nicht schön. Folgender Code kann zum testen verwendet werden:
Code:
;;;BKS's in Datei sichern (defun c:BKS:export ( / BKS_LISTE) (if (setq BKS_liste(BKS->Liste)) (BKS:Liste->Datei BKS_liste "c:\\temp\\test.bks"))) ;;;BKS aus Datei mit LOAD in Zeichnung (defun c:BKS:import ( / ) (if (findfile "c:\\temp\\test.bks") (mapcar '(lambda(A) (if (tblsearch "UCS" (cdr(assoc 2 A))) (command "_.ucs" "_d" (cdr(assoc 2 A)))) (entmake A))(load"c:\\temp\\test.bks")))) ;;;aktuelle BKS's in Listen (defun BKS->Liste ( / UCS UCS_LISTE) (setq UCS (cdr(assoc 2(tblnext "UCS" T)))) (while UCS (setq UCS_liste (cons (vl-remove-if '(lambda(A) (member (car A)'(-1 5 330))) (entget(tblobjname "UCS" UCS)))UCS_liste) UCS (cdr(assoc 2(tblnext "UCS"))))) UCS_liste) ;;;Liste in Datei für Load (defun BKS:Liste->Datei (liste pfad / datei ) (setq datei (open pfad "w")) (write-line "'(" datei) (mapcar '(lambda(A) (prin1 A datei))liste) (write-line ")" datei) (close datei))
Bin wie immer für jeden Tip dankbar. ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 19. Jul. 2010 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
Hi Jörn, hab mir deine Zeilen nicht genau angesehen... aber mit (vl-catch-all-apply 'vla-add (list (vla-get-UserCoordinateSystems doc) (vlax-3d-point (mapcar......... sollte es auch gehen... ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 19. Jul. 2010 12:45 <-- editieren / zitieren --> Unities abgeben:
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 19. Jul. 2010 14:33 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich schon wieder, also, mit dem 'vla-add... hat es auch nicht funktioniert, es kam folgenden Meldung: "***Fehler*** Automatisierungsfehler X-Achse und Y-Achse des BKS sind nicht im Lot" Dann kam mir die Erleuchtung, dadurch, daß ich die Listen einfach als Textdatei abspeicher gehen den REAL-Zahlen der GC 10, 11 und 12 die benötigte Genauigkeit abhanden. Also habe ich die Werte jetzt aus String mit (rtos Wert 2 20) ausgegeben (ich glaube 20 geht gar nicht, aber ich habe dann in der Textdatei 17 Stellen Gesamtlänge) und wenn ich dann die BKS's mit ENTMAKE erstelle funzt es. Bei der 'vla-add-Variante allerdings immer noch nicht. Vorher (10 129.154 102.793 0.0) Nacher: (10 "129.1535636101321" "102.7931031533917" "0.000000000000000") Weiß einer von Euch, wie ich noch mehr Genauigkeit in einer Textdatei speichern kann??? ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 19. Jul. 2010 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
Zitat: Original erstellt von joern bosse:
Weiß einer von Euch, wie ich noch mehr Genauigkeit in einer Textdatei speichern kann???
vllt "hochmultiplizieren" (mal 10^n und beim import wieder teilen) ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 19. Jul. 2010 15:33 <-- editieren / zitieren --> Unities abgeben:
|