| | | Effektive Integration von PLM und MBSE für die Entwicklung mechatronischer Produkte, eine Pressemitteilung
|
Autor
|
Thema: script_symbole zuordnen (1092 mal gelesen)
|
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 23. Sep. 2005 11:19 <-- editieren / zitieren --> Unities abgeben:
hallo... ich hab da ne echte newbie frage.... ich erstelle per skript einen device.....lade das zugehörige symbol und krieg das nich zugeordnet bzw. das dem device untergeordnete symbol auf das sheet ..... wie geht das? philipp [Diese Nachricht wurde von philipp.huebner am 23. Sep. 2005 editiert.]
[Diese Nachricht wurde von philipp.huebner am 23. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 23. Sep. 2005 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für philipp.huebner
Hi Phillip, newbie und gleich Scripte - alle Achtung. Ich weiss zwar nicht, was Du vorhast (aus einer Stückliste einen Schaltplan zeichnen?). Schau doch mal unter Scripting-Hilfe -> Device -> Sub-structures. Da gibt es GetSymbolIds idarr . Vielleicht hilft das ja weiter.
------------------ Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 26. Sep. 2005 08:34 <-- editieren / zitieren --> Unities abgeben:
ja genau....schaltplan aus einer Stückliste zeichnen...im weitersten sinne....aber diese funktion gibt nen feld mit symbolids zurück(vermutlich die zu den gerätsymbolen zugehörigen)....aber ich hab keine ahnung wie ich dem seperat geladenen symbol erzähle das es jetzt zu dem devivice gehürt..... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
timmle Mitglied Entwicklungsing.
Beiträge: 234 Registriert: 17.02.2005
|
erstellt am: 26. Sep. 2005 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für philipp.huebner
Hallo Philipp, Zitat: ...aber diese funktion gibt nen feld mit symbolids zurück
ja genau, denn ein Bauteil kann ja mehrere Symbole beinhalten (z.B. Schütze mit Spule und einzelnen Kontakten). Du weisst also, welche Symbole alle zum Bauteil gehören. Diesen Symbolen ordnest Du über das Attribut-Handling (Common Methods -> SetAttributeValue name, value) Bauteil, Zählnummer, Anlagen- und Ortskennzeichen zu. ------------------ Gruß Uwe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Eldorado Mitglied
Beiträge: 73 Registriert: 12.06.2004
|
erstellt am: 26. Sep. 2005 13:55 <-- editieren / zitieren --> Unities abgeben: Nur für philipp.huebner
Wenn man ein Bauteil mit dev.Create() erzeugt und dabei den Bauteiltyp mit angibt, dann wird intern im Bauteil gleich die komplette Gatterstruktur mit angelegt. Diese Gatterstruktur kann mit dev.GetSymbolIds() ausgelesen werden. Jedes einzelne dieser Symbole kann dann mit sym.SetId() und sym.Place() auf einem schon existierenden Blatt platziert werden. Das folgende Beispiel zeigt das exemplarisch für ein Schütz... Code: x = 80: y = 240: xincr = 40 sht.Create 0, "1", "DINA3", 0, 0 dev.Create "-K1", "", "", "3RH11221BB40", "sys", 0 symcnt = dev.GetSymbolIds( symids ) For s = 1 To symcnt sym.SetId symids(s) sym.Place sht.GetId, x, y, "" x = x + xincr Next
Wenn man das Bauteil so generiert, muss man den Symbolen auch keine BMKs mehr zuordnen. Sie kennen sie ja schon vom Bauteil her. Nur wenn man Symbole direkt aus der Datenbank heraus platziert (sym.Load(), sym.Place()) muss das Symbol mit sym.SetDeviceCompleteName() einem Bauteil zugeordnet werden.Wenn dieses Bauteil vorher schon mit dev.Create() (und einem Bauteiltyp) angelegt wurde, dann wird das platzierte Symbol einem passenden noch nicht platzierten Gatter des Bauteils zugewiesen. Ist das Bauteil noch nicht erzeugt, dann wird intern eben eines angelegt, das dann aber noch keinen festen Bauteiltyp besitzt und damit beliebige Gatter aufnehmen kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 26. Sep. 2005 14:25 <-- editieren / zitieren --> Unities abgeben:
Hallo U´we Also das klappt alles irgentwie nicht.... ich kann so ein symbol dem device zuordnen,das is aber nich der den ich geladen hab,hat zwar die selben attribute,er erscheint dann aber doppelt in der Bauteilliste: set dev = Prj.CreateDeviceObject dev.Create "X17", "Asgn", "loc", "Massestelle_1", 0, 0 set sym=prj.CreateSymbolObject sym.Load "Massestelle", "1" newid = sym.Place( sheet.GetId,300,200,0) sym.SetDeviceCompleteName nam,loca,assi ,oder so: set symba=prj.CreateSymbolObject symba.setid nsyms(1) symba.setAttributeValue "Klasse","Massestelle" symba.setAttributeValue "Datenbankklasse","Klemme" symba.setAttributeValue "Datenbankklasse englisch","Junctions, terminals and branchings" symba.setAttributeValue "Kontaktform","k" symba.setAttributeValue "Beschreibung","" symba.setAttributeValue "Revisor","" symba.setAttributeValue "Versionstext","" symba.setAttributeValue "VSTATUS","C" er nimmt jetzt die attribut werte nicht.... und wie komme ich mit der symbolid an das symbol,bzw. an den namen-- in der db....oder irgenwie muss ich das ding ja darüber handeln können...??????????? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
philipp.huebner Mitglied
Beiträge: 34 Registriert: 22.09.2005
|
erstellt am: 26. Sep. 2005 14:38 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|