|
Autor
|
Thema: Benutzerdefinierte Eigenschaften (664 mal gelesen)
|
taeky Mitglied
 
 Beiträge: 206 Registriert: 12.08.2003 Solid Works 2009 ----------------- Solid Edge V20 Intel Core 2 6600 4 GB Ram Quadro FX 3450
|
erstellt am: 02. Jun. 2009 19:55 Unities abgeben:         
Hallo @all,gibt es eine Möglichkeit Eintragungen der benutzerdefinierte Eigenschaften eines Bauteiles/Baugruppe in die benutzerdefinierten Eigenschaften einer Zeichnungsdatei automatisch zu übertragen. Bitte nicht nach dem Sinn fragen, der Grund dafür sind Altlasten. Grüße Taeky Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur / CAD-Administrator
  
 Beiträge: 607 Registriert: 27.11.2002 SWX 2009 SP 4.0 Windows XP Prof. SP3 Intel Core2Quad CPU Q6600 2,4GHz 4 GB Ram
|
erstellt am: 03. Jun. 2009 09:16 Unities abgeben:         
Ich hoffe, es gibt keine auf den Deckel! Es ist nicht von mir, aber ich kann leider auch nicht mehr genau sagen, wo ich es her habe... ' ****************************************************************************** ' macro recorded--And extensively modified!--on 01/06/03 by Brenda ' ****************************************************************************** Public swApp As SldWorks.SldWorks Public oDwg As SldWorks.DrawingDoc Public oView As SldWorks.view Public oModel As SldWorks.ModelDoc2 Dim sModelName As String Dim lRetVal As Long Dim lCount As Long Dim varPropNames As Variant Const swDocDRAWING = 3 Sub main()
Dim i As Integer On Error Resume Next Set swApp = CreateObject("SldWorks.Application") Set oDwg = swApp.ActiveDoc If (oDwg Is Nothing) Or (oDwg.GetType <> swDocDRAWING) Then MsgBox "You must have a drawing active before running this program.", vbCritical, "Oops" Exit Sub End If ' Identify and load the model referenced by the drawing Set oView = oDwg.GetFirstView 'We assume here a simple case of the first view referring to the desired model Set oView = oView.GetNextView 'The first view returned is the sheet--we'll skip that one sModelName = oView.GetReferencedModelName If Not oView.IsModelLoaded Then lRetVal = oView.LoadModel End If Set oModel = swApp.ActivateDoc2(sModelName, False, lRetVal) If oModel Is Nothing Then MsgBox "Error in activating the model.", vbCritical, "Got a Problem here" Exit Sub End If ' Get custom properties from referenced model lCount = oModel.GetCustomInfoCount2("") 'Only dealing with model-level properties here varPropNames = oModel.GetCustomInfoNames2("") ' Load Form and populate properties frmPropTransfer.lstProperties.Clear For i = 0 To (lCount - 1) frmPropTransfer.lstProperties.AddItem varPropNames(i) Next i frmPropTransfer.Show End Sub ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
  
 Beiträge: 846 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 03. Jun. 2009 09:31 Unities abgeben:         
das geht auch viel einfacher - ohne Makro und vollautomatisch:Schreibe einfach $PRPSHEET:"Konstrukteur" als Wert in die betreffende Eigenschaft ("Konstrukteur" ist dabei der Name der Eigenschaft im Teil bzw. Baugruppe). In den Blatteigenschaften kannst du dann noch festlegen, von welcher Ansicht die Information genommen wird. Das funktioniert allerdings nur Blatt-orientiert - Vorsicht also bei mehrblättrigen Zeichnungen. ------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur / CAD-Administrator
  
 Beiträge: 607 Registriert: 27.11.2002 SWX 2009 SP 4.0 Windows XP Prof. SP3 Intel Core2Quad CPU Q6600 2,4GHz 4 GB Ram
|
erstellt am: 03. Jun. 2009 09:53 Unities abgeben:         
Zitat: Original erstellt von u.clemens: das geht auch viel einfacher - ohne Makro und vollautomatisch: ...
Ja, du hast recht! Wenn du aber schon 1000 Zeichnungen hast, wo du aber keine BDE eingetragen hast, dann ist so ein Macro echt Gold wert. Und taeky sprach ja von "Altlasten", die es zu bereinigen gilt... Also uns leistet es gute Dienste! Daher unbekannterweise nochmals 1000Dank an den Ersteller! ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
taeky Mitglied
 
 Beiträge: 206 Registriert: 12.08.2003 Solid Works 2009 ----------------- Solid Edge V20 Intel Core 2 6600 4 GB Ram Quadro FX 3450
|
erstellt am: 03. Jun. 2009 17:38 Unities abgeben:         
Hallo zusammen,vielen Dank für die schnelle Hilfe. Mit : $PRPSHEET:"Konstrukteur" konnte ich etwas anfangen. Danke auch an THSEFA. Vieleicht hätte ich das Altlastenthema doch beschreiben sollen. Mit Altlasten meinte ich, dass unsere alten Daten Benutzerdefinierte Eigenschaften in identischer Form jeweils im Part/Baugruppe und in der Zeichnung enthalten. Unser geplantes PDM System soll/muss (keine Ahnung) beide BdE lesen können. Da wollte ich die doppelte Eingabe vermeiden. Aber das ist eine ganz andere Geschichte..... Grüße Taeky Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
THSEFA Mitglied Konstrukteur / CAD-Administrator
  
 Beiträge: 607 Registriert: 27.11.2002 SWX 2009 SP 4.0 Windows XP Prof. SP3 Intel Core2Quad CPU Q6600 2,4GHz 4 GB Ram
|
erstellt am: 04. Jun. 2009 08:57 Unities abgeben:         
Hier mein komplettes Makro! Ich hoffe, ich darf hier dieses nicht vonmir stammende Makro veröffentlichen! Ansonsten bitte löschen.@taeky Das Makro macht, dass in deiner geöffneten Zeichnung das eines dazugehörige Bauteils geöffnet wird und alle BDE aus dem Bauteil in einem Fenster dargestellt werden. Dann musst du dir die entsprechenden BDE auswählen und OK klicken. Die ausgewählten BDE werden dann in die Zeichnung geschrieben. Das wars dann auch schon. Also macht es exakt das, was du benötigst. Nur wenn du die BDE von der Zeichnung in das Bauteil schreiben willst, das funktioniert mit dem Makro nicht. Viel Spaß damit... ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
taeky Mitglied
 
 Beiträge: 206 Registriert: 12.08.2003 Solid Works 2009 ----------------- Solid Edge V20 Intel Core 2 6600 4 GB Ram Quadro FX 3450
|
erstellt am: 06. Feb. 2010 22:06 Unities abgeben:         
Hallo @all,so, jetzt nach Einführung des PDM Systems hat sich herausgestellt, dass das PDM System mit dem $PRPSHEET:"BlaBla" leider nichts anfangen kann. Daher habe ich dass Makro von Brenda mal getestet und es macht eigentlich genau das richtige. Allerdings würde ich mir gern die einzelne Auswahl der Eigenschaft ersparen, da ja immer die selben Werte übertragen werden müssen. Leider habe ich keine Erfahrungen im Makro schreiben oder editieren. Kann mir jemand dafür behilflich sein. Am besten wäre es, wenn dieses Makro beim erstellen einer Zeichung automatisch ausgeführt werden würde. Vielen Dank im Voraus. Grüße Taeky Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Mitglied Konstrukteur
 
 Beiträge: 433 Registriert: 02.10.2006 Firma: SW 2009-5.0 Professional, XP pro, P4, 3,2 GHz, 2 GbRAM, FX 1300 Home: XP home, D830, 3,0 GHz, 2 GbRAM, GeForce 7800 GTX
|
erstellt am: 07. Feb. 2010 13:45 Unities abgeben:         
Hallo, ich möchte mich mal an der Aussage von u.clemens anhängen. Wenn ich in den Dateieigenschaften der Zeichnung $PRPSHEET:"Description" reinschreibe, wird mir als evaluierter Wert wieder $PRPSHEET:"Description" zurückgegeben. Leider nicht der Wert der im Part bzw. der Baugruppe hinterlegt ist.Mach ich was falsch? Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuidoCAD Mitglied
 
 Beiträge: 113 Registriert: 27.11.2009 SolidWorks Premium 2009 SP 5.1 (de) WinXP Pro SP 3 (de)
|
erstellt am: 07. Feb. 2010 14:52 Unities abgeben:         
Hallo Andi,als evaluierter Wert der betreffenden Eigenschaft steht zwar $PRPSHEET:"Description", wenn Du in der Zeichnung einen Bezugshinweis mit einer Verknüpfung auf diese Eigenschaft einfügst wird $PRPSHEET:"Description" jedoch durch den Wert ersetzt. Du solltest ggf. noch die Option "Verwende benutzerdefinierte Eigenschaftswerte von" in den Blatteigenschaften entsprechend einstellen. Mit freundlichen Grüßen Guido
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Mitglied Konstrukteur
 
 Beiträge: 433 Registriert: 02.10.2006 Firma: SW 2009-5.0 Professional, XP pro, P4, 3,2 GHz, 2 GbRAM, FX 1300 Home: XP home, D830, 3,0 GHz, 2 GbRAM, GeForce 7800 GTX
|
erstellt am: 07. Feb. 2010 15:16 Unities abgeben:         
Hallo Guido, es geht mir aber nicht um einen Bezugshinweis in der Zeichnung (ich weiß, dass es dort funktioniert), sondern um die Dateieigenschaft, was oben behauptet wird, dass es so geht. Ich möchte schlicht vermeiden, die Description ein zweites Mal in der Zeichnung von Hand eintragen zu müssen.Ich habe auch schon versucht in Stefan´s Schriftfeldprogramm eine entsprechende Prg.-Zeile einzufügen, was ich aber noch nicht hinbekommen habe. Dort wird immer am aktuell geöffnetem Dokument gearbeitet. Hier wird aber eine Dateieigenschaft vom Part bzw. der Baugruppe in die Zeichnung benötigt. Dein zweiter Tip hat glaube ich mit diesem Problem nichts zu tun. (Meine Einstellung entspricht bereits deiner Empfehlung) Hast du evtl. noch weitere Tips? Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuidoCAD Mitglied
 
 Beiträge: 113 Registriert: 27.11.2009 SolidWorks Premium 2009 SP 5.1 (de) WinXP Pro SP 3 (de)
|
erstellt am: 07. Feb. 2010 19:00 Unities abgeben:         
Hallo Andi,ich habe das oben Geschriebene wie folgt verstanden: - Benutzerdefinierte Eigenschaft im Bauteil definieren, z.B.
Eigenschaft: MeineBeschreibung Wert: KegelStumpf - Benutzerdefinierte Eigenschaft in der Zeichnung definieren,
Eigenschaft: MeineBeschreibung Wert: $PRPSHEET:"MeineBeschreibung" - Benutzerdefinierte Eigenschaft in der Zeichnung verwenden
Aufruf über: $PRP:"MeineBeschreibung"
Eine Änderung der benutzerdefinierten Eigenschaft im Bauteil ändert auch den Wert der betreffenden Eigenschaft in der Zeichnung. Allerdings frage ich mich, ob "das Ganze" so überhaupt Sinn macht. Anbei noch ein kleines Beispiel. Mit freundlichen Grüßen Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
     
 Beiträge: 2324 Registriert: 15.06.2007 SW 2007 SW 2008 SW 2009 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64
|
erstellt am: 07. Feb. 2010 19:12 Unities abgeben:         
Hi Guido, Zitat: Eine Änderung der benutzerdefinierten Eigenschaft im Bauteil ändert auch den Wert der betreffenden Eigenschaft in der Zeichnung. Allerdings frage ich mich, ob "das Ganze" so überhaupt Sinn macht.
aber klaar macht es einen... Ich mache meine "Eigenschaften" nur im Model/Baugruppe - die hole ich mir auf die Zeichnung entweder automatisch über Blattformate oder auch nach Bedarf zu Fuß. Funzt wunderbar. G. thomas ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuidoCAD Mitglied
 
 Beiträge: 113 Registriert: 27.11.2009 SolidWorks Premium 2009 SP 5.1 (de) WinXP Pro SP 3 (de)
|
erstellt am: 07. Feb. 2010 19:49 Unities abgeben:         
Hallo Thomas, Zitat: Original erstellt von myca: ... aber klaar macht es einen...
ja schon, aaaber:Wenn ich eine benutzerdefinierte Eigenschaft eines Bauteils in der Zeichnung einsetzen möchte gehe ich doch nicht den Umweg über eine benutzerdefinierte Eigenschaft in der Zeichnung. Oder hat dies irgendwelche Vorteile? Mit freundlichen Grüßen Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur
     
 Beiträge: 2324 Registriert: 15.06.2007 SW 2007 SW 2008 SW 2009 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64
|
erstellt am: 07. Feb. 2010 20:41 Unities abgeben:         
Hi,muß da was durcheinander gebracht haben... Zitat: Wenn ich eine benutzerdefinierte Eigenschaft eines Bauteils in der Zeichnung einsetzen möchte gehe ich doch nicht den Umweg über eine benutzerdefinierte Eigenschaft in der Zeichnung
ja, tue ich auch nicht.... Nur Bauteil/Baugruppe. Sehe ich kein Bedarf was Informationen angeht, die am Bauteil/Baugruppe hängen. Womöglich eben welche, die nur mit der Zeichnung (als solche) hängen können. G. thomas
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
|  |
taeky Mitglied
 
 Beiträge: 206 Registriert: 12.08.2003 Solid Works 2009 ----------------- Solid Edge V20 Intel Core 2 6600 4 GB Ram Quadro FX 3450
|
erstellt am: 08. Feb. 2010 07:37 Unities abgeben:         
Zitat: Wenn ich eine benutzerdefinierte Eigenschaft eines Bauteils in der Zeichnung einsetzen möchte gehe ich doch nicht den Umweg über eine benutzerdefinierte Eigenschaft in der Zeichnung. Oder hat dies irgendwelche Vorteile?
Leider ist man bei uns diesen Weg vor ein paar Jahren gegangen und hat bei dieser Glegenheit jetzt auch den PDM Lieferanten gezwungen diese Pfad zu nehmen.  Daher wäre das Makro eine Möglichkeit, zumindest ein paar Steine auf den falschen Weg zu entfernen. Grüße Taeky Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |