| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: DXF INSERT (2938 mal gelesen)
|
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 11. Aug. 2007 06:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo Cad.de bin neu hier und habe ein Problem (würde ich mich sonst melden ). Erstelle gerade Software für den Eigenbedarf. Habe eine DXF-Datei erzeugt, in dieser Blöcke als DXF-Datei abgespeichert sind. Nun möchte ich über die Software den Insert-Befehl steuern um die Blöcke an unschiedlicher Lage in der Zeichnung zu platzieren. Habe mir den Insert-Befehl mal angeschaut (in der DXF-Datei von Hand eingefügt). Habe dann alle Insert-Befehe aus der DXF-Datei gelöscht und versuche diese von Hand (später mit der Software) wieder einzufügen. 0 INSERT 5 18A 330 1F 100 AcDbEntity 8 0 100 AcDbBlockReference 2 Nut6661606 <-- Block 10 100.0 20 100.0 30 0.0 Das Problem ist die Gruppe 5 mit dem Eintrag z.B. 18A. Wie kann ich den Eintrag vorbestimmen um dieses später über die Software zu steuern ? Wenn ich in Gruppe 5 andere Werte einsetze z.B. 197 oder 19E läuft die DXF immer auf einen Fehler. Gruppe 5 ganz weglassen geht auch nicht (Fehler). Hat jemand ein Tip für mich (AutoCad2002)?? Gruß cnc-horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 11. Aug. 2007 14:43 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Hallo CNC-horst, herzlich willkommen im Forum. Auszug aus der AutoCAD Hilfe "DXF Referenz, DXF Format": Gruppencode 5 = Elementreferenz; Textzeichenfolge mit bis zu 16 Hexadezimalziffern (fest) d.h. die Referenz darf nur einmal vorkommen, sonst weis AutoCAD ja nicht welches Element gemeint ist. Bei Deinem Programm müßtest Du also darauf achten, dass jede Referenz nur einmal vorkommt. Du kannst also in der DXF-Datei "nur" 18,4 Trillionen Elemente definieren - aber das sollte reichen. Noch eines: Achte auf die Variable $HANDSEED, diese zeigt die nächste freie Referenz an, wenn Dein Wert drüber ist, gibt es eine Fehlermeldung und Acad öffnet die Datei nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 05:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Klak, erst mal Danke für Deine Antwort. Glaube aber das es nicht so einfach ist. Habe mir die DXF-Dateien sehr genau angeschaut.Habe dann per Hand einige Objekte in die Zeichnung eingefügt. Konnte dann in der DXF-Datei sehen, das die Objektreferenz (Gruppe 5) die Werte 194/195/196 ...u.s.w. hatten. Habe dann die kompletten Insert-Befehle gelöscht und eine neue Datei erzeugt, wo ich diese Insert-Befehle reingeschrieben habe, mit den Werten 194/195/196 (Gruppe5). FEHLERMELDUNG . Die Zusammenhänge kann ich mir nicht erklären. Es muß doch möglich sein, eine variable DXF-Datei zu erzeugen um unterschiedliche Blöcke in die Zeichnung einzufügen zu können. Habe versucht das Problem in AutoLisp zu lösen, hänge dort leider auch fest  Gibt es keinen im Forum der schon mal DXF-Dateien in Visual-Basic erstellt hat, um diese dann in AutoCad2002 einzulesen ??? Hoffe das noch ein paar Antworten und e.v.t. Lösungen für mein Problem kommen. Gruß CNC-Horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 13. Aug. 2007 08:25 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Hallo Horst, mit der pauschalen Fehlermeldung kann man gut was anfangen. Wie lautet die genau? Hinweis auf Wörterbuch ? Du solltest Dein Problem etwas genauer beschreiben. In welcher Section bewegst Du Dich? Blocks oder Entities ? Willst Du die DXF-Datei nun neu schreiben, Teile darin ersetzen / ergänzen? Den Namen des Blockes verändern? Hast Du den Header und die Section Blocks mit übernommen? Kannst ja auch mal die neue DXF hochladen. Grüße, Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 13. Aug. 2007 08:25 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
|
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 09:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Klak, Versuche nochmal alles besser zu beschreiben. Habe eine AutoCad DXF-Datei wo einige Blöcke drin beschrieben sind. Diese Datei habe ich ausgelesen und 1:1 in meiner Software untergebracht. Mit einem vorab Print #2, ..... kann ich so wieder eine komplette Kopie dieser Datei erstellen. Durch Eingaben in meiner Software müssen bestimmte Blöcke (nicht alle sondern mal der oder ein anderer) an unterschiedlichen Position eingefügt werden. Versuche es jetzt nochmals anders zu erklären. Habe die Blöcke Nut6661808; Nut6661809; Nut6661810 ....Nut6661596 u.s.w. in der DXF-Datei gespeichert. Jetzt kommt "meine" Software ins Spiel. Die Software steuert jetzt die Einfügepunkte. Also brauche ich den Insert-Befehl. Damit z.B. der Block Nut6661808 auf der Position 10(X)=500 20(Y)=-100 30(Z) eingefügt werden soll. Der nächste Block z.B. Nut6661596 auf Position 10=498.6 20=-243.12 30=0 u.s.w. . Die Positionen und auch Aufruf der Blöcke sind bei jeder neu erstellten DXF-Datei anders (weil andere Zeichnung). Die Blocknamen bleiben immer gleich. Die Positionen, die Anzahl der eingefügten Blöcke ändern sich. Es ist auch möglich das der Block Nut6661808 mehrmals an unterschiedliche Positionen eingefügt werden muß. Ich glaube jetzt ist alles erklärt, oder .... ? Also muß meine erzeugte Datei Insert-Befehle ausgeben um den Blocknamen und auch z.B. die Position zu übergeben (ein paar ander Dinge auch) Layer, Farbe u.s.w. auch. Bei dem Insert-Befehl muß aber auch eine Gruppe 5 übergeben werden. In dieser Gruppe 5 wird eine Refenzobjekt-Nummer übergeben. Diese Objektnummer ist wohl nicht einfach frei wählbar. Habe dieses versucht und laufe auf die Fehlermeldung "RefenzobjektNr." stimmt nicht (genauen Text muß ich nachschauen). Verstanden ???? Mein Problem: Wie vergibt AutoCad2002 diese Nummern ? Wie kann ich vorher diese Nummern bestimmen ? Wenn ich die Gruppe 5 nicht eintrage gibts auch eine Fehlermeldung (klar). Haeder und Blöcke wurden 1:1 übernommen (siehe oben Kopie 1:1). Habe mir mal ein paar Blöcke von Hand eingefügt und anschließend mir die DXF-Datei angeschaut. Habe dann die ganzen Insert-Befehle wieder rausgenommen und diese Datei wieder in AutoCad eingeladen, kein Problem. Wenn ich jetzt aber die Insert-Befehle (die ich komplett in einem Edior hatte) wieder einfüge (in die gleiche Datei) läuft AutoCad wieder auf einen Fehler. Gehe mal davon, aus das bei jeder AutoCad-Sitzung andere Refenznummmern vergeben werden. Ich hoffe es ist alles verstanden. Gruß Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 09:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo Fuchsi, die Fehlermeldung: "Das Wörterbuch für benannte Objekte fehlt in der Datei" Ich hatte auch schon mal andere Fehlermeldung, habe das Problem schon seit 1 Woche und teste von Morgens bis Abends (auch Nachts). Habe dann nach 5 Tagen gemerkt das ich dieses Problem leider nicht alleine lösen kann (deshalb Cad.de). Habe versucht das Problem auch in Lisp zu lösen (habe ich schon mal bei AutoCad2.6) so gemacht aber wegen schlechter Rechnerleistung wieder rausgenommen. Auch finde ich meinen alten Quellencode nicht mehr. Habe dann versucht über Command (command "_.-insert" "c:\\Test\\Nut6661000.dwg" PKT "10" "10" "0") einen Einfügepunkt zu setzen. So hatte ich dieses auch in Version 2.6 gelöst, wobei damals mit nur 2 Einfügekoordinaten. Leider habe ich hier das Problem das die Nute überall eingefügt wird nur nicht auf 10 10 0 : Wenn ich dann zwischenzeitlich versuche mal eine Linie über Command zu erzeugen und anschließend wieder sage: "(command "_.-insert" "c:\\Test\\Nut6661000.dwg" PKT "10" "10" "0")" muß ich meine Nut6661000.dwg ganz schön auf der Zeichnung suchen, weil die Koordinaten 10 10 0 nicht stimmen. Ich bewege mich wohl im Polaren-Koordinatensystem, warum keine Ahnung, wie ich da wieder rauskomme, keine Ahnung. Ich kenne die Polarangaben nur über z.B. @100 u.s.w. Hatte vor einer Woche gedacht, wenn das mit der DXF-Datei (1.Wahl) nicht klappt,nehme ich einfach Autolisp (hatte ich ja schon mal gemacht). Aber auch hier komme ich nicht weiter, weil AutoCad mit mir macht was es will ......... Gruß CNC-Horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 13. Aug. 2007 09:41 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
hallo Horst, wie bereits oben erwähnt ist der Code 5 eine laufende Nummerierung aller Elemente in der DXF-Datei und die Variable $HANDSEED im Header gibt an wieviel Elemente (dazu gehören auch die in den Sectionen Tabellen, Blocks, Classes ..). Anhand dieser Variablen wird die Liste vorbelegt, und wenn Du mehr Elemente als dort angegeben in Deiner Datei hast gibt es eben eine Fehlermeldung. Hast Du weniger drin, kommt keine Fehlermeldung, da AutoCAD ja mit der dort angegebenen Nummer weitermachen könnte. Beim ergänzen der Datei müssen diese Elemente eine neue Nummer bekommen und die nächste freie Referenz im Header entsprechend angepasst werden. z.B. Letzter GruppenCode: 5 7C Dann im Header: 9 $HANDSEED 5 7D Die angegebene Fehlermeldung kommt dann nicht mehr. Kannst Du die fehlerhafte dxf hochladen? Grüße, Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.

 Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 13. Aug. 2007 10:25 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Hi, wenn ich mich nicht täusche, können Handles überhaupt nicht vergeben oder geändert werden. AutoCAD hat da die Hand drauf. Eine Lisp-Möglichkeit, die Einfügungen zu identifizieren wäre, nach dem Einfügen das letzte Element abzufragen: (command "_.insert" ...) (setq LetztesHandle (cdr (assoc 5 (entget (entlast))))) Die Koordiantenfehler kommen vielleicht daher, dass du den Objektfang beim Einfügen eingeschaltet hast ->OSMODE Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 10:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo Klak, verstehe bald nur noch Bahnhof .... Habe doch alle Blöcker in dieser DXF-Datei abgespeichert also muß von AutoCad beim schreiben dieser DXF-Datei der Header auf diese größe eingestellt sein. z.B. 120 Blöcke in DXF-Datei Header=120. Der Anfang meiner DXF 0 SECTION 2 HEADER 9 $ACADVER 1 AC1015 9 $ACADMAINTVER 70 13 9 $DWGCODEPAGE 3 ANSI_1252 9 $INSBASE Dann Handseed
$HANDSEED 5 19A Dann später die Blöcke Hier als Beispiel Nut6661506 Habe hier einiges an Gemotrie rausgemommen (aus Sicherheitgründen).
0 BLOCK 5 74 330 5D 100 AcDbEntity 8 0 100 AcDbBlockBegin 2 Nut6661506 70 0 10 0.0 20 0.0 30 0.0 3 Nut6661506 1 0 LINE 5 5E 330 5D 100 AcDbEntity 8 0 100 AcDbLine 10 3.0 20 11.04999999999999 30 0.0 11 11.91999999999999 21 11.04999999999999 31 0.0 0 LINE 5 5F 330 5D 100 AcDbEntity 8 0 100 AcDbLine 10 0.0 20 -2.509999999999998 30 0.0 11 2.499999999999999 21 -2.509999999999998 31 0.0 . . . . Geometrie entfernt . . . 0 LINE 5 71 330 5D 100 AcDbEntity 8 0 100 AcDbLine 10 2.999999999999998 20 -0.05 30 0.0 11 2.499999999999999 21 -0.55 31 0.0 0 LINE 5 72 330 5D 100 AcDbEntity 8 0 100 AcDbLine 10 11.91999999999999 20 -0.05 30 0.0 11 12.41999999999999 21 -0.55 31 0.0 0 TEXT 5 73 330 5D 100 AcDbEntity 8 0 100 AcDbText 10 26.46607302343705 20 4.473113446703678 30 0.0 40 2.5 1 6661506 100 AcDbText 0 ENDBLK 5 75 330 5D 100 AcDbEntity 8 0 100 AcDbBlockEnd Mit dem Hochladen ist so eine Sache, können dann alle im Forum diese Datei sehen und lesen ............
Das geht nicht, weil es sind schon einige Daten drin die nicht für Jedermann zugänglich sein sollen. Vielleicht über eine private odere andere Email-Adresse ??? Gruß CNC-Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 13. Aug. 2007 10:45 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
irgendwie verwechselst du da was. einerseits schreibts du von (command "._insert" ...) anderseits werkelst du in der DXF-Datei in der Blockdefinitionstabelle. Die Blockdefinitionstabelle beschreibt, wie der Block ausschaut, aber nicht wo er ind er zeichnung eingefügt ist ! Das ist in einer ganz anderen Sektion und beginnt mit Gruppencode 0 = INSERT. Weiters emphehle ich beim selberschreibnen von DXF Dateien, eher auf die DXF-Version 12 anstatt 15 zu arbeiten.
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 13. Aug. 2007 10:54 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
ich habe jetzt testweise in einer DXF-Datei einfach die Elemente im Abschnitt ENTITIES mit neuen Referenznummern versehen. dazu habe ich zuvor geschaut, auf was die Variable HANDSEED steht. Habe den Entities einfach neue Referenznummern (einfach ab dem Wert Handsseed immer um eins erhöht) vergeben. und danach die Variable Handseed wiederum auf die nächste freie Referenznummer egsetzt. Der DXF-Import hat danach klaglos funktioniert. Aber irgendwie verstehe ich dein Problem nicht ganz. Du hast einerseits sowieso eine Zeichnung. Dann exportierst du das ganze, willst die Einfügepunkte ändern und wieder importieren? Warum änderst du die Einfügepunkte nicht gleich in der Zeichnung ? Ich werde nicht ganz schlau daraus , was du machen willst.
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 10:54 <-- editieren / zitieren --> Unities abgeben:         
es gibt ja auch noch einen Block_Record. Dort ist die Gruppe 5 = 5D (siehe unten) 0 BLOCK_RECORD 5 5D 330 1 100 AcDbSymbolTableRecord 100 AcDbBlockTableRecord 2 Nut6661506 340 0 102 {BLKREFS 331 198 102 } Das ist mein Insert-Befehl wenn ich den Block von Hand einfüge in AutoCad selbst. 0 INSERT 5 18A 330 1F 100 AcDbEntity 8 0 100 AcDbBlockReference 2 Nut6661606 10 100.0 20 100.0 30 0.0 ist jetzt ein anderer Block dürfte aber wohl egal sein, hier wird Gruppe 5 18A vergeben. Wenn ich diesen Textblock "Insert" rausnehme läuft AutoCad bei einer neuen Sitzung einwandfrei. Füge ich den Textblock "Insert" wieder ein (hatte ich im Editor) und starte eine neue Autocad-Sitzung wird die Datei wieder verweigert. Richtig verstehen kann ich das alles nicht. Was will ich, ein DXF erzeugen wo alle benannten Blöcke mal an unterschiedlicher Stelle in unterschiedlicher Reihenfolge und Anzahl erzeugt werden. Gruß CNC-Horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 13. Aug. 2007 10:57 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Zitat: Original erstellt von CADchup: Hi,wenn ich mich nicht täusche, können Handles überhaupt nicht vergeben oder geändert werden. AutoCAD hat da die Hand drauf. Eine Lisp-Möglichkeit, die Einfügungen zu identifizieren wäre, nach dem Einfügen das letzte Element abzufragen: (command "_.insert" ...) (setq LetztesHandle (cdr (assoc 5 (entget (entlast))))) Die Koordiantenfehler kommen vielleicht daher, dass du den Objektfang beim Einfügen eingeschaltet hast ->OSMODE Gruß CADchup
nicht ganz richtig !!! falls das letzte Objekt eine alte Polylinie oder ein Block mit Attributen ist, funktioniert das ganze so nicht . Weiters würde ich mich nicht darauf verlassen, dass der Abschnitt Entities immer die letzthöchste Referenznummer schreibt.
z.B.: der befehl BLOCK erzeugt eine Blockdefinition mit einer Referenznummer, ohne im Bereich Enrtities unbedingt was zu erzeugen. ------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 10:57 <-- editieren / zitieren --> Unities abgeben:         
Hallo Fuchsi, ich Versuche über 2 Wege zu "meinem" Ziel zu kommen. Einmal über DXF-Datei (dieses ist der bessere Weg für mich). Wenn dieser Weg nicht klappt über den 2. Weg in AutoLisp mit Command .... u.s.w. Gruß CNC-Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 11:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo Cadchup, DANKE für den Tipp (bin für jeden Tipp dankbar, weil so langsam der Verzweifelung nahe ....;-(((((((((( .). Kann ich heute abend mal prüfen (in einer ruhigen Stunde, zu Hause am Schreibtisch). Weil ist schon ungewöhnlich , vielleicht wurde auch meine Cursor-Position übernommen ........ Gruß Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
   
 Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 13. Aug. 2007 11:06 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Zitat: Original erstellt von cnc-horst: Habe dann versucht über Command (command "_.-insert" "c:\\Test\\Nut6661000.dwg" PKT "10" "10" "0")
[/B]
schau dir den befehl _.-insert einmal in der befehlszeile an Befehl: _.-insert Blocknamen eingeben oder [?]: c:\\Test\\Nut6661000.dwg Einfügepunkt angeben oder [Faktor/X/Y/Z/Drehen/VFaktor/VX/VY/VZ/VDrehen]:10,10,0 X-Skalierfaktor eingeben, entgegengesetzte Ecke angeben oder [Ecke/XYZ] <1>:1 Y-Skalierfaktor eingeben <X-skalierfaktor verwenden>: 1 Drehwinkel angeben <0>: 0 genauso musst du das im Command auch absetzten (command "_.-insert" "c:\\Test\\Nut6661000.dwg" "10,10,0" 1 1 0)
Koordinaten kann man auch per (list 10 10 0) übergeben. Was soll denn die option PKT denn sein ? oder ist pkt eine Lispvariable, die den Einfügepunkt als Liste gespeichert hat, dann wäre 10 10 der x und y-Skalierfaktor
------------------ Ing. Anton Fuchs WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 13. Aug. 2007 11:25 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
hallo CNC-Horst, Ich denke Du sollstest Dich nicht an den Gruppencode 5 aufhängen. Nimm ihn einfach als fortlaufenden Zähler für die Elemente. Ich gehe jetzt mal davon aus, dass Du keine neuen Blöcke in der DXF-Datei erzeugen möchtest, d.h. die Section BLOCKS bleibt unverändert und Du schreibst nur in die Section ENTITIES. OK so weit? Für die Erzeugung des neuen Eintrags kopierst Du einen (ganzen) bestehenden (INSERT-)Block an das Ende der Section vor 0 ENDSEC (oder an beliebiger Stelle vor einer Zeile mit Inhalt " 0") holst Du Dir den nächsten freien Handle aus der Variable HANDSEED, diese schreibst Du in den GruppenCode 5 des neuen Elementes, änderst nun die Variable HANDSEED (+1) änderst Deinen Einfügepunkt und liest die DXF-Datei ein. Das sollte so funktionieren. Klaus Als Beispiel mal zwei kleine dxf-Dateien vor nach Ergänzung [Diese Nachricht wurde von KlaK am 13. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 11:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo Fuchsi, den Befehl so im Internet so übernommen. Die Variante (command "_.-insert" "c:\\Test\\Nut6661000.dwg" "10,10,0" 1 1 0) habe ich so noch nicht ausprobiert "10,10,0" 1 1 0). Werde ich heute abend testen. DANKE !!! Wieso hast Du ein Bindestrich im Befehl ("_.-insert") ??? Versuche mal, an einem vielleicht schlechtem Beispiel zu erklären was ich mache möchte: Habe eine Software geschrieben die Strassen zeichen in einem unbebautem Gelände. Jetzt sollen an diesen Strassen unterschiedliche Häuse gebaut werden. Bungow, Reihenhaus , Doppelhaus ... u.s.w diese Häuser sind als Blöcke abgelegt alles in einer DXF-Datei. Jetzt komme ich zu meinem Chef und dieser macht Planungsspiele und sagt auf Strasse ... soll an Position X Y ein Reihenhaus hin, auf Position X Y dann ein Bungow u.s.w. .... Da die Software die Strassen schon alleine zeichnet, je nach Gelände möchte ich diese Software nicht verlassen und auch sofort die Häuse einsetzten um dann eine DXF-Datei zu erzeugen. Sicher kann ich dieses auch in AutoCad von Hand machen (einfügen Häuser), sieht aber blöde aus. Besser, ich habe eine Software (vielleicht mit Bild von jedem Haustyp) und sagen der Software füge mir an der und der Position ein Rheinhaus, ein Bungow u.s.w. an Position X.. Y.. und wieder ein Reihenhaus an Position X.. Y.. . Drücke auf den Fertigknopf und es wird eine komplette neue Zeichnung (in diesem Fall DXF-Datei) erzeugt. Also brauch ich von Hand nicht mehr eingreifen. Bitte nicht sauer sein, ist ein blödes Beispiel. Komme jetzt wieder zu mir, es ist für mich wichtig automatisch eine DXF-Datei zu erzeugen, die ich dann auch sofort in andere Programme (z.B. CAM-System einzulesen kann). Gruß Horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 12:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo KlaK, mit den Einträgen "Section ENTITIES" kapiere ich nicht so richtig. Was besagt "ENTITIES" ? ----------------------------------------- Wie soll ich an die Variable HANDSEED kommen, möchte ein eigenständige DXF erzeugen (mit eigener Software). Die dann von allen DXF fähigen Programme eingelesen werden kann. ------------------------------------------ Wie kann ich erfahren, welche Nummer Autocad vergibt, auch wenn AutoCad nicht gestartet ist. -------------------------------------------- Möchte diese DXF-Datei in z.B. einem CAM-System ohne Umwege einlesen können. Dann aber mit den eingefügten Blöcken --------------------------------------------- Gruß Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 12:19 <-- editieren / zitieren --> Unities abgeben:         
zur Erklärung an alle. Benutze AutoCad eigentlich dafür, eine sauber DXF-Datei erstellen zu können. Deshalb erzeuge ich in AutoCad DXF-Dateien um diesen DFX-Standart zu nutzen und in meiner Software einzubauen um später eine neue mit eingefügten Blöcken neue DXF-Datei erzeugen zu können. Gruß CNC-Horst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 13. Aug. 2007 12:44 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Hallo Horst, Zitat: mit den Einträgen "Section ENTITIES" kapiere ich nicht so richtig. Was besagt "ENTITIES" ?
Eine DXF-Datei ist in verschiedene Abschnitte eingeteilt, einer davon sind die Zeichnungselemente und die befinden sich eben bei den ENTITIES = alles das dargestellt wird, bzw. alles das verarbeitet werden soll. Im Abschnitt BLOCKS stehen zum Beispiel die Definitionen für die Beispielzeichnungen (in Deinem Beispiel die verschiedenen Arten der Häuser auf die Du Dich beziehen möchtest) Zitat:
Wie soll ich an die Variable HANDSEED kommen, möchte ein eigenständige DXF erzeugen (mit eigener Software). Die dann von allen DXF fähigen Programme eingelesen werden kann.
Die Variable $HANDSEED steht im SECTION HEADER Zitat:
Wie kann ich erfahren, welche Nummer Autocad vergibt, auch wenn AutoCad nicht gestartet ist.
AutoCAD ist ist für die Nummerierung nicht notwendig, Du weißt doch selber wieviel Definitionen Du erzeugst. Kannst es Dir ja als Zeilennummer vorstellen, in jeder Zeile steht entweder eine Blockdefinition, eine Tabelle oder ein zu zeichnendes Element. Zitat:
Möchte diese DXF-Datei in z.B. einem CAM-System ohne Umwege einlesen können. Dann aber mit den eingefügten Blöcken
Puh - da bin ich nun überfragt, mit CAM-System kenne ich mich nicht aus, aber wenn die normale DXF-Dateien einlesen und verarbeiten können, solte es da kein Problem geben. Hast Du Dich schon mal mit dem Aufbau einer DXF-Datei beschäftigt? Die Onlinehilfe in AutoCAD ist da eigentlich sehr ausführlich. Grüße, Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.

 Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 13. Aug. 2007 13:47 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Hi, @fuchsi Zitat:
(command "_.insert" ...) (setq LetztesHandle (cdr (assoc 5 (entget (entlast)))))Original erstellt von fuchsi: nicht ganz richtig !!! falls das letzte Objekt eine alte Polylinie oder ein Block mit Attributen ist, funktioniert das ganze so nicht . Weiters würde ich mich nicht darauf verlassen, dass der Abschnitt Entities immer die letzthöchste Referenznummer schreibt. z.B.: der befehl BLOCK erzeugt eine Blockdefinition mit einer Referenznummer, ohne im Bereich Enrtities unbedingt was zu erzeugen.
Ich weiß was du meinst. Ist hier aber unerheblich, wenn die beiden Zeilen zusammenbleiben gibt (entlast) hier immer das INSERT zurück. @cnc-horst Ich plädiere für die Verwendung von AutoCAD schon beim Zusammenbau und nicht erst beim Schreiben der DXF-Datei. Acad kann DXFs nicht nur lesen und exportieren. Es kann sie auch mit (command "_.-insert" ...) oder der Methode IMPORT einfügen. Und damit sparst du dir das womöglich fehlerhafte Zusammenklöppeln von DXF-Dateien. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 14:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo an ALLE, habe einen jungen Kollegen in der Firma der das Problem wohl gelöst hat. Testen werde ich heute oder morgen Abend. Er sagt: AutoCad oder jedes andere CAD-Programm braucht eine letzte Refenznummer. Bei meinem Beispiel mit allen Blöcken steht bei der DXF-Datei die Nummer auf 394=18A Hex. in der Variable $HANDSEED Dieses ist somit die letzte belegte Referenznummer. Danach sind die Nummern frei. Das bedeutet, ich möchte gern 5 Häuser einfügen: 1. Haus = 395=18B 2. Haus = 396=18C 3. Haus = 397=18D 4. Haus = 398=18E 5. Haus = 399=18F Somit ist das letzte belegte Ref.Nr.=399 = 18F Jetzt rechnen +1 = 400 = 190 Hex. Jetzt die Variable $HANDSEED auf 190 Hex. und das Problem ist gelöst. Bin selbst gespannt ob das so klappt !!! Wenn's dann geht, lade ich den Kollegen zum Frühstück ein .... Gruß Horst An alle ANDEREN vielen DANK ür Eure Hilfe. Solltet jemand mal in einem CNC Forum sein, oder Hilfe zu Sinumeriksteuerung benötigen, dort bin ich aktiv unter CNC-Horst.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V23 pro Plateia, Canalis Visual Basic
|
erstellt am: 13. Aug. 2007 14:47 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Und was hab ich Dir anderes geschrieben? Egal, Hauptsache Problem gelöst. (Komm dann auch zum Frühstück, wenn ich mal in der Gegend bin ) Klaus [Diese Nachricht wurde von KlaK am 13. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Clayton Ehrenmitglied Konstrukteur
    
 Beiträge: 1632 Registriert: 07.02.2004 AMD Athlon 64X2 5600+, 1GB, Nvidia Quadro Pro FX 1100 Inventor Series 10 Mathcad 13
|
erstellt am: 13. Aug. 2007 14:56 <-- editieren / zitieren --> Unities abgeben:          Nur für cnc-horst
Zitat: Original erstellt von KlaK:
Noch eines: Achte auf die Variable $HANDSEED, diese zeigt die nächste freie Referenz an, wenn Dein Wert drüber ist, gibt es eine Fehlermeldung und Acad öffnet die Datei nicht.
@CNC-Horst: Hi, Ich verstehe was nicht. Was Du oben beschreibst, ist Dir doch schon am 11.8. gesagt worden. Du hast darauf geantwortet, dass es so einfach nicht sein koennte??? Gruss
[Diese Nachricht wurde von Clayton am 13. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cnc-horst Mitglied CNC-Programmierer

 Beiträge: 21 Registriert: 11.08.2007
|
erstellt am: 13. Aug. 2007 15:30 <-- editieren / zitieren --> Unities abgeben:         
kann das sein das ich am 11.8. die ganzen Zusammenhänge nicht verstanden habe, bei manchen dauert es etwas langer (scheint bei mir der Fall zu sein). Hallo KlaK, stimmt schon, aber Deine Erklärung habe ich nicht verstanden. Mein Kollege hat mir "auch" nur eine Email geschrieben und in ca. 20 Sätzen den Sachverhalt für mich verständlich rübergebracht. Sehr wahrscheinlich hatte ich den gleichen "Sender" eingestellt ... Wenn Du in der Gegend bis, kein Problem zum Frühstück oder zum Bier. Auch wenn wir bei Siemens knapp gehalten werden (muß ja wieder Geld reinkommen, nach den ganzen Theater ...) , dafür reicht es noch . Bin auch wirklich dankbar dafür, das ich Hilfestellung kommen habe. Wenn es so nicht geht, melde ich mich nochmal ... Gruß aus Müheim an der Ruhr CNC-Horst
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |