| | | GreenGTs Erfolg mit E3.series, ein Anwenderbericht
|
Autor
|
Thema: Seiteninfo in Stückliste (1104 mal gelesen)
|
ansa Mitglied
Beiträge: 20 Registriert: 01.02.2006
|
erstellt am: 29. Nov. 2007 09:45 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich arbeite seit ein paar Wochen mit E3 und versuche gerade, die Stückliste zu verändern und zu ergänzen. Ich möchte nun für jedes Bauteil die Info in der Stückliste ausgeben, auf welcher Seite im Projekt es sich befindet, d.h. ich brauche den Blattnamen und den Strompfad . Weiß jemand, ob das überhaupt möglich ist und falls ja, wie der Befehl lautet, mit dem man diese Info auslesen kann? Gruß Annette Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 29. Nov. 2007 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für ansa
Hallo Annette, ich stelle mir das schwierig vor, weil ja ein Bauteil aus mehreren Symbolen bestehen kann, die auf mehrere Blätter verteilt sind. Oder willst Du das Schaltschrank-Blatt ausgeben? Wofür möchtest Du die Angabe in der Stückliste? Die Suche in E3 ist nicht ausreichend? ------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ansa Mitglied
Beiträge: 20 Registriert: 01.02.2006
|
erstellt am: 29. Nov. 2007 10:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Uwe, danke für Deine schnelle Antwort. Die Angabe in der Stückliste ist dazu gut, dass man ein Bauteil in den Stromlaufplänen einfach finden kann, wenn die Pläne nur in Papierform vorhanden sind. Bei Master-Slave-Bauteilen wäre es ausreichend, wenn die Seitenangabe des Master-Bauteils aufgeführt wäre. Ist bei den Bauteilen in der Datenbank keine Information hinterlegt, auf welcher Seite sie sich befinden? Bei Master-Slave-Bauteilen gibt es doch auch einen automatischen Querverweis, der solche Informationen enthält. Gruß Annette Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 29. Nov. 2007 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für ansa
Hallo Annette, ich hab mir gerade mal eine Bauteil-Liste von meinem Projekt ausgedruckt:
Code: component list 29.11.2007 ================================================================================ cnt component-type ver. type description -------------------------------------------------------------------------------- 163 1k_0.6W_0207 1 R Metallschicht-Widerstand 1kOhm, 0,6W 132 264-701 1 X 2-Leiter-Mini-Durchgangsklemme; TS 15; Mittenb... 138 3011038 1 X Mehrstöckige Dreileiter-Durchgangsklemme; DLKB... 1 32pol_Buchse 1 X 1 AEG_EP63-C32 1 Leitungsschutzschalter : :
Was machen wir mit Bauteilen, die sehr oft vorkommen? ------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ansa Mitglied
Beiträge: 20 Registriert: 01.02.2006
|
erstellt am: 29. Nov. 2007 11:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Uwe, ich hab mal ein Auszug meiner Stückliste angehängt, wie sie aktuell aufgebaut ist. Kommt ein Bauteil vom gleichen Typ mehrmals vor, wird jedes BMK in einer eigenen Zeile aufgelistet, d.h. die Information, auf welcher Seite es sich befindet, sollte in der gleichen Zeile stehen. Klemmen werden bei uns nicht aufgeführt. Die Anzahl, wie oft ein Betriebsmittel gleichen Typs vorkommt, ist daher nicht so groß. Gruß Annette Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eldorado Mitglied
Beiträge: 73 Registriert: 12.06.2004
|
erstellt am: 29. Nov. 2007 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für ansa
Die Platzierung eines Symbols kann mit sym.GetSchemaLocation() erfragt werden. Ob ein Symbol innerhalb eines Bauteils ein Master ist, kann über sym.IsMaster() erfragt werden. Das folgende Beispiel listet für alle Bauteile die Platzierung-Position wobei bei Bauteilen mit Master-Symbol dieses und bei solchen ohne Master eben das erste platzierte herangezogen wird: Code: devcnt = prj.GetDeviceIds( devids ) For d = 1 To devcnt dev.SetId devids(d) mpos = "" fstid = 0: mstid = 0 symcnt = dev.GetSymbolIds( symids ) For s = 1 To symcnt sym.SetId symids(s) If( sym.GetSchemaLocation( x, y, pos ) ) Then If( fstid = 0 ) Then fstid = sym.GetId If( sym.IsMaster ) Then mstid = sym.GetId End If Next id = mstid If( id = 0 ) Then id = fstid If( id ) Then sym.SetId id: sym.GetSchemaLocation x, y, pos e3.PutInfo 0, dev.GetName & " -> " & pos, id Else e3.PutInfo 0, dev.GetName & " is NOT placed" End If Next
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 29. Nov. 2007 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für ansa
Ich hab' auch einen kleinen Script geschrieben, der die Seite des Mastersymbols mit auflistet. Aus den zwei Scripten kannst Du Dir hoffentlich was passendes basteln: Code: Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Set objSht = objPrj.CreateSheetObject Set objDev = objPrj.CreateDeviceObject Set objSym = objPrj.CreateSymbolObject Set objSym2 = objPrj.CreateSymbolObjectSet Excel = CreateObject("Excel.Application") Excel.WorkBooks.Add Excel.Visible = 1 'Kopfzeile Excel.Cells( 1, 1 ) = "Typ" Excel.Cells( 1, 2 ) = "Lieferant" Excel.Cells( 1, 3 ) = "Fkt.-Kennz." Excel.Cells( 1, 4 ) = "Mastersymb." Excel.Cells( 1, 5 ) = "auf Blatt" objPrj.GetAllDeviceIds devIds For i = 1 to UBound(DevIds) objDev.SetId DevIds(i) If objDev.GetName <> "Drähte" Then Excel.Cells( i+1, 1 ) = objDev.GetComponentName Excel.Cells( i+1, 2 ) = objDev.GetComponentAttributeValue( "Supplier" ) Excel.Cells( i+1, 3 ) = objDev.GetName objDev.GetSymbolIds SymIds objSym.SetId SymIds(1) n = objSym.GetMasterIds( list ) If( n <> 0 ) Then For k = 1 To n objSym2.SetId list(k) Excel.Cells( i+1, 4 ) = objSym2.GetName objSht.SetId objSym2.GetId Excel.Cells( i+1, 5 ) = objSht.GetName Next End If End If Next Set Excel = nothing wscript.quit
Ist bischen schnell geschrieben, aber vielleicht eine Anregung.------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ansa Mitglied
Beiträge: 20 Registriert: 01.02.2006
|
erstellt am: 29. Nov. 2007 17:05 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|