Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  AddAttribute Fehler

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:  AddAttribute Fehler (875 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: 30. Dez. 2003 08:42    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

Habe mit folgendem Code mit VB eine automatisierte Blockerstellung geschrieben. Mein Problem:
1. Der Einfügepunkt des Attributes liegt entgegen dem Code irgendwo auf der Zeichnung (also nicht da, wo ich ihn eigentlich mit getpoint festgelegt habe) und
2. obwohl ich die Anweisung acAttributeModeInvisible gegeben habe ist das Attribut sichtbar.

Was habe ich denn falsch gemacht?????


Public insertionPnt As Variant
Dim InsPoint(2) As Double
Dim attributeObj As Object
GetInsPoint = ThisDrawing.Utility.GetPoint(, "Block-Einfügepunkt wählen: ")
For g = LBound(GetInsPoint) To UBound(GetInsPoint)
InsPoint(g) = GetInsPoint(g)
Next g
insertionPnt = InsPoint
Set attributeObj = nBlock.AddAttribute(1#, acAttributeModeInvisible, "Objektnummer", insertionPnt, "T_Objekt_NR", "")


Danke im voraus für jede Hilfe!!!

Ralf

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: 30. Dez. 2003 09:26    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

Ich nehme einmal an, daß der Block, dem Du das Attribut hinzufügen möchtest zum einen nicht an der Position 0,0 eingefügt ist und eventuell auch dessen Basispunkt nicht auf 0,0 liegt. Diese beiden Punkte mußt Du beachten, wenn Du das Attribut dem Block hinzufügst.

Pnt = ThisDrawing.Utility.GetPoint(, "Einfügepunkt

InsPnt = BlkRef.InsertionPoint
OrgPnt = BlkDef.Origin

Pnt(0) = Pnt(0) + OrgPnt(0) - InsPnt(0)
Pnt(1) = Pnt(1) + OrgPnt(1) - InsPnt(1)


Ein anderer Punkt könnte sein, daß Du die Auswahl des Punktes nicht im WKS vornimmst und so "lokale" Koordinaten durch die Punktabfrage bekommst.

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: 30. Dez. 2003 11:11    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 vielen Dank für die prompte Hilfe.

Das Problem stellt sich jedoch mittlerweile anders dar:

Nach dem Einfügen des Blockes liegen die Attributwerte irgendwo auf der Zeichnung (also habe ich gedacht, der Einfügepunkt der Attribute ist falsch). Wenn ich aber den Block in den Ursprung setze, dann sehe ich die die Attributdefinitionen am eigentlichen Einfügepunkt (also da, wo sie sein sollten). Wieso sind die Attributwerte dann aber an der falschen Stelle. Füge ich dann den Block nochmal in die Zeichnung ein sind die Werte an der richtigen Stelle - ich versteh's einfach nicht!


Zitat:
Original erstellt von Karsten HST:
Ich nehme einmal an, daß der Block, dem Du das Attribut hinzufügen möchtest zum einen nicht an der Position 0,0 eingefügt ist und eventuell auch dessen Basispunkt nicht auf 0,0 liegt. Diese beiden Punkte mußt Du beachten, wenn Du das Attribut dem Block hinzufügst.

Pnt = ThisDrawing.Utility.GetPoint(, "Einfügepunkt 

InsPnt = BlkRef.InsertionPoint
OrgPnt = BlkDef.Origin

Pnt(0) = Pnt(0) + OrgPnt(0) - InsPnt(0)
Pnt(1) = Pnt(1) + OrgPnt(1) - InsPnt(1)


Ein anderer Punkt könnte sein, daß Du die Auswahl des Punktes nicht im WKS vornimmst und so "lokale" Koordinaten durch die Punktabfrage bekommst.


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