Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Block erstellen mit VBA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Block erstellen mit VBA (1224 mal gelesen)
Ralf Rehm
Mitglied
Dipl.-Ing. Stahlbau


Sehen Sie sich das Profil von Ralf Rehm an!   Senden Sie eine Private Message an Ralf Rehm  Schreiben Sie einen Gästebucheintrag für Ralf Rehm

Beiträge: 57
Registriert: 16.12.2003

erstellt am: 16. Dez. 2003 13:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich möchte mit AutoCAD 2004 nithilfe eines VBA-Programmes aus einem SelectionSet einen Block erstellen. Kann mir jemand sagen, wie das geht???

Danke im voraus

Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 16. Dez. 2003 14:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf Rehm 10 Unities + Antwort hilfreich

hab mal ein bisschen gesucht, aber hab auch nichts gescheites gefunden.

eine (zugegeben unelegante)Möglichkeit wäre

thisdrawing.wblock filename, selectionset
und dann wieder einfügen

aber da muss es doch was gescheiteres geben

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karsten HST
Mitglied
Bauingenieur


Sehen Sie sich das Profil von Karsten HST an!   Senden Sie eine Private Message an Karsten HST  Schreiben Sie einen Gästebucheintrag für Karsten HST

Beiträge: 54
Registriert: 22.04.2003

erstellt am: 16. Dez. 2003 14:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf Rehm 10 Unities + Antwort hilfreich

Versuchs mal mit der CopyObjects-Anweisung des Dokument-Objectes.

Dim nBlock As AcadBlock, InsPoint(2) As Double
Dim sSet As AcadSelectionSet, sItem As AcadEntity
Dim Objects() As AcadEntity
On Error Resume Next
Set nBlock = Blocks.Add(InsPoint, "AllEntities")
Set sSet = SelectionSets.Add("Entities")
If sSet Is Nothing Then
  Set sSet = SelectionSets("Entities")
End If
sSet.Clear
sSet.SelectOnScreen
ReDim Objects(sSet.Count - 1)
For i = 0 To sSet.Count - 1
Set Objects(i) = sSet.Item(i)
Next
CopyObjects Objects, nBlock, IdPairs


Dieser Code fügt die gewählten Zeichnungsobjekte in die Blockdefinition AllEntities ein. Anschließend mußt Du nur noch die vorhandenen Elemente löschen, den Block in die Zeichnung einfügen oder was sonst noch so passieren soll.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ralf Rehm
Mitglied
Dipl.-Ing. Stahlbau


Sehen Sie sich das Profil von Ralf Rehm an!   Senden Sie eine Private Message an Ralf Rehm  Schreiben Sie einen Gästebucheintrag für Ralf Rehm

Beiträge: 57
Registriert: 16.12.2003

AutoCAD Architecture 2008 - 2011
AutoCAD 2002 - 2011
Revit 2010

erstellt am: 16. Dez. 2003 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Erst einmal vieln Dank für die prompte Hilfe!

Wenn ich den Code so ausführe, existiert allerdings anschließend der Block "AllEntities" nnicht in der Zeichnung. Um ihn aber danach einfügen zu können müsste er ja existieren. Als irgendetwas fehlt mir noch oder habe ich falsch gemacht ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Karsten HST
Mitglied
Bauingenieur


Sehen Sie sich das Profil von Karsten HST an!   Senden Sie eine Private Message an Karsten HST  Schreiben Sie einen Gästebucheintrag für Karsten HST

Beiträge: 54
Registriert: 22.04.2003

erstellt am: 17. Dez. 2003 09:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf Rehm 10 Unities + Antwort hilfreich

Wenn Du den Code 1:1 übernommen hast, muss dieser im Klassenmodul ThisDrawing eingefügt werden (natürlich in eine Prozedur gehüllt). Wenn Du den Code außerhalb des Klassenmoduls verwendest (Formular oder Modul), musst Du das Dokumentobjekt, auf die sich die Operationen beziehen mit angeben (normalewrweise ThisDrawing).

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz