| |  | 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: Problem mit dem Einfügen von selbstdefinierten Blöcken (926 mal gelesen)
|
Murkeline Mitglied Studentin (Maschinenbau)
 Beiträge: 8 Registriert: 05.11.2008
|
erstellt am: 14. Nov. 2008 13:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum, ich habe ein Problem mit dem Einfügen eines Blockes, den ich selber erstellt habe. Über das DesignCenter kann ich diesen problemlos einfügen. Gehe ich allerdings auf Einfügen / Block und gebe dort den Namen ein funktioniert das nicht. Wenn ich meine DWG-Datei in der der Block enthalten ist einmal geöffnet und geschlossen habe, ist auch das möglich. Als ob AutoCAD sich dann wieder erinnert das der Block existiert. Ich habe nun ein paar Zeilen Code geschrieben um diesen Block einzufügen, aber auch das funktioniert erst, wenn ich die DWG-Datei einmal geöffnet und geschlossen habe. Einfügen mache ich über den Befehl InsertBlock. Muss ich erst irgendwas initialisieren, dass das Einfügen auch gleich möglich ist, oder stimmt etwas mit meinem Block nicht ? Set Objekt = ThisDrawing.ModelSpace.InsertBlock(Einfügepunkt, "Blockname", 0.05, 0.05, 0.05, 0) Vielleicht hat ja einer von euch eine Idee. LG Marie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 14. Nov. 2008 13:15 <-- editieren / zitieren -->
Hi, eine BlockReference kann nur dann erzeugt werden (in weniger EDV-technischen Worten: ein Block kann nur dann eingefügt werden), wenn die Blockdefinition in der aktuellen Zeichnung existiert oder wenn eine Datei mit dem angegebenen Blocknamen in einem der Support-Verzeichnisse in AutoCAD existiert. Möchtest Du eine bestimmte DWG als Block in deine Zeichnung einfügen, diese DWG aber nicht in Supportverzeichnissen enhalten ist, dann musst Du auch Verzeichnisname angeben) Set tBlRef = ThisDrawing.ModelSpace.InsertBlock(Pnt,"C:\Temp\Rad.dwg",1,1,1,0)
- alfred - PS: bitte keine Variable mit Umlauten (Einfügepunkt)!! |
Murkeline Mitglied Studentin (Maschinenbau)
 Beiträge: 8 Registriert: 05.11.2008
|
erstellt am: 14. Nov. 2008 13:36 <-- editieren / zitieren --> Unities abgeben:         
|
Murkeline Mitglied Studentin (Maschinenbau)
 Beiträge: 8 Registriert: 05.11.2008
|
erstellt am: 17. Nov. 2008 11:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, das mit dem Dateinamen hatte ich auch schon probiert. Das Problem ist nur die datei enthält ein Element ( einen Pfeil ), das an genau einer bestimmten Position eingefügt werden soll. Wenn ich das allerdings über den Dateinamen einfüge, ist der Einfügepunkt die linke untere Ecke der gesamten Datei und nicht mehr wie im Block definiert die Pfeilspitze. Der Pfeil ist dann kilometerweit entfernt von dem Punkt, an dem er eigentlich sein sollte. gibt es eine Möglichkeit AutoCAD dies bezüglich zu überlisten, oder sollte ich lieber gleich aufgeben ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Murkeline Mitglied Studentin (Maschinenbau)
 Beiträge: 8 Registriert: 05.11.2008
|
erstellt am: 17. Nov. 2008 13:12 <-- editieren / zitieren --> Unities abgeben:         
Ich hab's ! Allen begeisterten Programmierern unter euch werden wahrscheinlich die Haare zu Berge stehen, aber ich hab eine Lösung gefunden. Einfach einmal die gesamte Blockdatei einfügen, sofort wieder löschen und AutoCAD erkennt den Block, wenn man ihn nur mit dem Blocknamen anspricht. Alle Einfügeprobleme beseitigt. Ich gebe zu keine schöne Lösung, aber es funktioniert !!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 17. Nov. 2008 20:06 <-- editieren / zitieren -->
Hi Marie, ich tippe bei der Datei darauf, dass INSBASE verstellt ist oder das Element, das einen Pfeil darstellt, nicht auf 0,0,0 gezeichnet ist. Damit wird es beim Einfügen eben um den Vektor versetzt sichtbar, den das urspruengliche Element eben vom INSBASE entfernt ist. Wenn ich allerdings dann Deine zweite Nachricht dazu lese, dann könnte man auch vermuten, dass es sich um eine Block-In-Block Struktur handelt, d.h. Du willst einen Block namens 'PFEIL' aus einer Zeichnung names 'SYMBOLE.DWG' (als Beispiel). Dann ist Deine Vorgehensweise verständlich, aber teuer, wenn Du immer alle Blockdefinitionen reinholst und wieder löscht (macht die Zeichnung durch nicht notwendige Blockdefinitionen größer und der UNDO-Speicher wächst durch holen und löschen schneller an als notwendig. - alfred - |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 18. Nov. 2008 17:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Murkeline
|
Murkeline Mitglied Studentin (Maschinenbau)
 Beiträge: 8 Registriert: 05.11.2008
|
erstellt am: 24. Nov. 2008 09:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich hab mal ein bisschen kreative Pause gemacht und werde jetzt versuchen deine Idee einzubauen. Scheint eine sinnvollere Lösung zu sein, als meine. Da hab ich doch wirklich fleißig gesucht im Forum, aber diesen Beitrag mal wieder nicht gefunden. Danke für die Unterstützung! Marie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |