| |  | 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 PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: Attribut extern mittels VB 6.0 erstellen (1486 mal gelesen)
|
max-84 Mitglied
 Beiträge: 7 Registriert: 28.07.2005
|
erstellt am: 01. Jun. 2006 14:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich will von einer VB .exe auf Autocad zugreifen um in der aktuellen Zeichnung ein Atribut zu erstellen (attdef). versucht hatte ich es mit :
Code: Dim height As Double Dim Point(0-2) As DoubleSet ThisDrawing = autocad.Application.ActiveDocument Point(0) = 0 Point(1) = -5 Point(2) = 0 height = 2 Set AcadAttribute = ThisDrawing.ModelSpace.AddAttribute(height, acAttributeModePreset, "", Point, "NO_ATT", "1") AcadAttribute.Update
Allerdings konnte ich nicht herrausfinden wie ich extern auf AcadAttribute zugreifen kann. Bin noch nicht so fit was VB angeht, deswegen wäre ich über jede Hilfe dankbar. Max
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 01. Jun. 2006 16:13 <-- editieren / zitieren --> Unities abgeben:          Nur für max-84
Hallo Max, also in VB (6?) musst du erst das AutoCAD Objekt "holen". Mit GetObject kannst du auf eine laufende Instanz von AutoCAD zugreifen. Im Beispiel entspricht dann AcadDoc dem Objekt Thisdrawing in VBA. Attribute werden sinnvollerweise an Blöcke gehängt. Im Beispiel wird ein Attribut(definition) an die Blockdefinition angehängt. Ist ein Block bereits eingefügt, kannst du mit HasAttributtes abfragen ob dieser Block ein angehängtes Attribut hat. Code:
Sub Block_Att() ' AutoCAD als Verweis einbinden Dim AcadApp As AcadApplication Dim AcadDoc As AcadDocument Dim BlockDef As AcadBlock Dim Kreis As AcadCircle Dim InsPkt(0 To 2) As Double Dim Attr As AcadAttribute Set AcadApp = GetObject(, "AutoCAD.Application") Set AcadDoc = AcadApp.ActiveDocument Set BlockDef = AcadDoc.Blocks.Add(InsPkt, "NeuerBlock") Set Kreis = BlockDef.AddCircle(InsPkt, 10) Kreis.color = acByBlock Set Attr = BlockDef.AddAttribute(2.5, acAttributeModeNormal, "Eingabe: ", InsPkt, "FeldEingabe", "")End Sub
Stelli------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
max-84 Mitglied
 Beiträge: 7 Registriert: 28.07.2005
|
erstellt am: 01. Jun. 2006 17:00 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |