Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Engineering Base
  Attribute in der Zeichnung per VBA belegen

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
  
Gemeinsam schneller in die Zukunft des Wasserstoffs
Autor(16237) Thema:  Attribute in der Zeichnung per VBA belegen (1648 mal gelesen)
Knollibolli
Mitglied
Elektroingenieur


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

Beiträge: 28
Registriert: 01.06.2006

erstellt am: 19. Okt. 2009 11:38    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

Hallo zusammen,
ich bin immer noch dabei, eine automatische Zeichnungserstellung zu programmieren. Mittlerweile sitzen auch schon die Shapes auf den Zeichnungsblättern, auch wenn es momentan noch Platzhalter für die richtigen Shapes sind, die noch nicht erstellt sind.
Beim Einlesen der Geräte habe ich auch Örtlichkeiten generiert und mir als Blattvorlage zunächst das Blatt "A3 quer" geholt, denn dies bietet mir die Möglichkeit, in den Zeichnungskopf die Örtlichkeit mit einzutragen. Ich denke, daß es klar ist, daß dies aus dem VBA-Programm heraus geschehen soll. Nur ist das Textfeld "Zugeordnetes Betriebsmittel" wie auch "Zugeordnete Funktion" kein Attribut. Und im Moment bin ich etwas ratlos, wie diese Textfelder denn nun ansprechen kann.
Ich hoffe, daß mir hier schon einmal jemand helfen kann!!!

Vielen Dank schon einmal,
Olli

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

arndvanuden
Mitglied
Teamleiter Systementwicklung


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

Beiträge: 114
Registriert: 14.09.2004

SWX2007 SP2.1 unter XP
PRO.FILE 7.5 (Oracle)
OSD unter UNIX/Windows (V1.0 - V17.0)
Engineering Base 6.1.3
Moldflow
MasterCAM
I-DEAS/NX

erstellt am: 19. Okt. 2009 13:21    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 Knollibolli 10 Unities + Antwort hilfreich

habe so etwas "ähnliches" schon mal gemacht.
Ich habe den Einbauplatz per VBA von Geräten gesucht.
Hier ein paar Ausschnitte von Script.

Dim oSel As ObjectItems
Dim oLocation1 As ObjectItem

Set oSel = Application.Selection(1).Project.FindObjects(aucObjLocation, aucSearchDeep)
Set oSel1 = Application.Selection(1).Project.FindObjects(aucObjDevice, aucSearchDeep)


For Each oLocation1 In oSel                      'Ab hier werden alle Arbeitsplätze durchsucht
         
                   
          position1 = oLocation1.FullName
          exworksheet.Cells(i + 1, 1) = position1  'schreibe Einbauplatz in eine Excel z.B +A1

                                                   

Next oLocation1


Den Wert position1 kann man dann auch wieder in ein Attribut zurückschreiben damit dieser dann am Shape angezeigt wird.

Ein Beispiel von mir wo ich X und Y Koordinaten von Shape zurückgespeichert habe

' Schreibt den X und Y Wert ins Feld Koordinaten unter Betriebsdaten damit diese über das Shape angezeigt werden
               
    Set oItem = Application.Selection(1).Children.Item(I)
        oItem.Attributes.ItemByID(aucAttrCoordinates).Value = "X= " & sPartx & " Y= " & sParty
        Call oItem.Store

Zum Schluß aber den Punkt "oItem.Store" nicht vergessen sonst wird der Wert nicht gespeichert.


Gruß
Arnd van Uden


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

Knollibolli
Mitglied
Elektroingenieur


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

Beiträge: 28
Registriert: 01.06.2006

erstellt am: 19. Okt. 2009 13:47    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

Hallo Arndt,
vielen Dank schon einmal für Deine Antwort.
Die Örtlichkeit habe ich schon erfaßt und brauche sie eigentlich nicht mehr zu suchen.
So wie ich es verstehe, schreibst Du einen Wert in ein Objekt zurück bzw. in eines der Attribute. Vom Prinzip her ist es auch das, was ich machen möchte. Nur möchte ich es in den Zeichnungskopf schreiben. Damit bewirke ich dann ja, das die komplette Zeichnung einer Örtlichkeit zugeordnet ist. Aber, ich bekomme einfach das Attribut nicht zu greifen. Wenn ich mir per VBA alle Attribute aufzeigen lasse, kommen die schon erwähnten Attribute darin nicht vor.

Gruß,
Olli

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

MakroMax
Mitglied
Consultant

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

Beiträge: 6
Registriert: 06.08.2008

erstellt am: 20. Okt. 2009 08:04    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 Knollibolli 10 Unities + Antwort hilfreich

Hallo,
solche Zuordnungen werden über Assoziationen erledigt.
Bei Assoziationen gibt es immer eine Quelle und ein Ziel.
Ausgehend vom Einbauplatz ist es die Quelle (Source)
Das Ganze kann natürlich auch umgedreht werden.

Bsp:
Dim oLoc As ObjectItem  'Einbauplatz
dim oObj as ObjectItem  'Blatt zum Assozieren
Call oLoc.SourceAssociations.New(aucRoleLocationToSheet, oObj)

So in der Form sollte es funktionieren. :-)

MfG
Dirk Satzky

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

Knollibolli
Mitglied
Elektroingenieur


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

Beiträge: 28
Registriert: 01.06.2006

erstellt am: 20. Okt. 2009 11:54    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

Jawoll,
genau das ist es! Eingebaut und klappt hervorragend.
Und wieder einen großen Schritt weitergekommen.

Vielen Dank,
Olli

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)2024 CAD.de | Impressum | Datenschutz