| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Blöcke und VBA (772 mal gelesen)
|
MA28 Mitglied Bautechnischer Zeichner

 Beiträge: 53 Registriert: 17.03.2003 W2k pro 5.0.2195 SP3; AutoCAD 2006; HP DesignJet 800
|
erstellt am: 15. Mai. 2003 10:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo an ALLE! Habe gerade das ganze Forum abgesucht (Blöcke & VBA)! ICH VERSTEHE NICHT WIE MAN MIT VBA EINEN BLOCK LÄDT! Was ich will: möchte den Block nur der Auswahl hinzufügen und nicht gleich in der Zeichnung platzieren. Alle meine Blöcke sind in einem bestimmten Ordner! Danke für eure Hilfe!
------------------ mfG Gambrinus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Karsten HST Mitglied Bauingenieur

 Beiträge: 54 Registriert: 22.04.2003
|
erstellt am: 15. Mai. 2003 16:26 <-- editieren / zitieren --> Unities abgeben:          Nur für MA28
Um Blöcke aus einem Verzeichnis heraus zu laden, musst Du den gesamten Pfad dem Block voranstellen und dann mit der InsertBlock - Methode laden. Damit der Block dann nicht in der Zeichnung, sondern nur in der BlocksAuflistung erscheint, muss der so erstellte Block wieder gelöscht werden: Set NBlk = ThisDrawing.ModelSpace.InsertBlock(InsPoint,"C:\Temp\100.dwg", 1,1,1,0) NBlk.Delete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA28 Mitglied Bautechnischer Zeichner

 Beiträge: 53 Registriert: 17.03.2003 W2k pro 5.0.2195 SP3; AutoCAD 2006; HP DesignJet 800
|
erstellt am: 16. Mai. 2003 09:54 <-- editieren / zitieren --> Unities abgeben:         
Danke Karsten! hat funktioniert, habe aber noch Fragen! wenn ich (dim newblock as acadblock) schreibe geht es nicht! außerdem löscht sich der block nicht automatisch!
------------------ mfG Gambrinus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Norbert AC Mitglied

 Beiträge: 26 Registriert: 17.03.2003
|
erstellt am: 16. Mai. 2003 11:58 <-- editieren / zitieren --> Unities abgeben:          Nur für MA28
|
MA28 Mitglied Bautechnischer Zeichner

 Beiträge: 53 Registriert: 17.03.2003 W2k pro 5.0.2195 SP3; AutoCAD 2006; HP DesignJet 800
|
erstellt am: 16. Mai. 2003 13:05 <-- editieren / zitieren --> Unities abgeben:         
mein makro!: Sub block_test() ThisDrawing.PurgeAll Dim layer(1 To 5) As AcadLayer Dim newBlock As AcadBlock 'dann entsteht ein alufzeitfehler 13 Dim insertionPnt(0 To 2) As Double Set layer(1) = ThisDrawing.Layers.Add("S3") Set layer(2) = ThisDrawing.Layers.Add("s7c") Set layer(3) = ThisDrawing.Layers.Add("s7d") Set layer(4) = ThisDrawing.Layers.Add("s7e") Set layer(5) = ThisDrawing.Layers.Add("s7f") layer(1).Color = acGreen layer(2).Color = acGreen layer(3).Color = acGreen layer(4).Color = acGreen layer(5).Color = acGreen insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0# Set newBlock = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "k:\Projektierung_ALE\CAD-Bereich\block\punkt-voll.dwg", 1, 1, 1, 0) newBlock.Delete 'er ist trotzdem in der zeichnung! End Sub bin schon voll verwirrt, aber ich finde vba super interessant!
------------------ mfG Gambrinus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Karsten HST Mitglied Bauingenieur

 Beiträge: 54 Registriert: 22.04.2003
|
erstellt am: 19. Mai. 2003 09:50 <-- editieren / zitieren --> Unities abgeben:          Nur für MA28
Da die Anweisung InsertBlock einen eingefügten Block in der Zeichnung als Ergebnis seiner Ausführung zurückgibt, muss die Variable NewBlock folgendermaßen deklariert werden. Dim newBlock As AcadBlockreference Um den Block aus der Auflistung der Blöcke wieder zu entfernen, musst Du auf den Block über die Blocks-Tabelle zugreifen. Set BlkDef = ThisDrawing.Blocks("punkt-voll") Anschließend könntest Du den Block aus der Zeichnung entfernen oder das Aussehen verändern. Wenn Du mehr Informationen zum gesamten Thema AutoCAD-VBA benötigst, könnte ich Schulungen vermitteln. Oder Du wartest auf das Buch AutoCAD programmieren mit VBA vom Addison-Wesley Verlag. Ansonsten stehe ich im Forum gerne Rede und Antwort.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
melzig Mitglied Maschinenbautechniker
 
 Beiträge: 396 Registriert: 15.01.2003 Intel Xeon CPU E5-1650v2 @3,5 GHz; 32 GB RAM Quadro K4000 3 GB 2x 20" TFT LG Flatron L2000CN Space Pilot 3D Connexion Windows 7 Professional 64 Bit Inventor Professional 2015 -64-Bit-Edition- Inventorintegration für Autodesk Productstream Professional 2011
|
erstellt am: 19. Mai. 2003 12:02 <-- editieren / zitieren --> Unities abgeben:          Nur für MA28
@ karsten Woher hast Du denn die Info mit dem Buch "AutoCAD programmieren mit VBA" vom Addison & Wesley Verlag? Da weißt Du ja wahrscheinlich mehr als der Verlag auf seinen Internetseiten bekannt gibt. Ich habe dort diesbezüglich nichts gefunden, bin aber sehr interessiert. Verrate mal Deine Informationquelle und wann denn das Buch erscheinen soll? Von welchem Autor? Vielen Dank! Tschüß Frank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA28 Mitglied Bautechnischer Zeichner

 Beiträge: 53 Registriert: 17.03.2003
|
erstellt am: 20. Mai. 2003 10:41 <-- editieren / zitieren --> Unities abgeben:         
|
melzig Mitglied Maschinenbautechniker
 
 Beiträge: 396 Registriert: 15.01.2003 Intel Xeon CPU E5-1650v2 @3,5 GHz; 32 GB RAM Quadro K4000 3 GB 2x 20" TFT LG Flatron L2000CN Space Pilot 3D Connexion Windows 7 Professional 64 Bit Inventor Professional 2015 -64-Bit-Edition- Inventorintegration für Autodesk Productstream Professional 2011
|
erstellt am: 20. Mai. 2003 11:44 <-- editieren / zitieren --> Unities abgeben:          Nur für MA28
@ gambrinus Vielen Dank! Ein kleines Dankeschön in Form von Unities ist unterwegs. Ich hatte aber eher an ein Buch in deutscher Sprache gedacht. Solche Kost, wie VBA in AutoCAD ist schon in deutsch schwer verständlich genug. Vielleicht weiß ja Karsten doch ein anderes,denn das Buch was du aufgeschrieben hast ist ja nicht vom Verlag Addison & Wesley. Tschüß Frank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |