Autor
|
Thema: Part Name andern (510 mal gelesen)
|
cahit_civ Mitglied Maschinenbau
Beiträge: 65 Registriert: 26.03.2006
|
erstellt am: 08. Jun. 2006 08:44 <-- editieren / zitieren --> Unities abgeben:
hallo, wenn ich neuen part oder neue pruduct einfüge, Name von Part ıst ımmer Part1 , Part2 ...... wie kann ıch das andern zb. bu.81234.5001 bu.81234.5002 bu.81234.5003 .. .. .. bei product das gleiche vielen dank für ihre Mühe ------------------ Cahit Öztürk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 08. Jun. 2006 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für cahit_civ
Hallo Cahit, für Parts (innerhalb einer Baugruppe) sollte es über eine einfache Zuweisung an das Partname-Property (für den Partname) bzw. an das Name-Property (für den Instancename) der Part-Instance erledigt sein. Für Products gilt das selbe. Ist nur ein Part-Document geöffnet, erreicht man die Namensänderung durch Zuweisen des neuen Namens an das Partname-Property des Product-Objektes des Part-Documents. Hier noch das ganze in Script-Form (interaktiv): Code: Language="VBSCRIPT"Sub CATMain() dim seltype(1) seltype(0) = "Part" seltype(1) = "Product" set sel = CATIA.ActiveDocument.Selection status = sel.SelectElement2(seltype, "Select a Part, Part-Instance or Product", true) if status = "Normal" then newname = inputbox("New name: ") if newname <> "" then if typename(sel.Item(1).Value) = "Product" then sel.Item(1).Value.PartNumber = newname sel.Item(1).Value.Name = newname & ".1" else sel.Item(1).Value.Parent.Product.PartNumber = newname end if end if end if end sub
CU Tapani ------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cahit_civ Mitglied Maschinenbau
Beiträge: 65 Registriert: 26.03.2006
|
erstellt am: 08. Jun. 2006 10:10 <-- editieren / zitieren --> Unities abgeben:
danke schön für deıne antwort aber das soll automatısch gemacht werden. dh. dıe nummerıerung muss durchlaufend seın. ıch meıne: wenn ıch bu.65426.5001 gebe, und danach wenn ıch eıne part hınfuge, automatısch der name von der part soll bu.65426.5002 seın. danke schön ------------------ Cahit Öztürk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cahit_civ Mitglied Maschinenbau
Beiträge: 65 Registriert: 26.03.2006
|
erstellt am: 08. Jun. 2006 10:11 <-- editieren / zitieren --> Unities abgeben:
danke schön für deıne antwort aber das soll automatısch gemacht werden. dh. dıe nummerıerung muss durchlaufend seın. ıch meıne: wenn ıch bu.65426.5001 gebe, und danach wenn ıch eıne part hınfuge, automatısch der name von der part soll bu.65426.5002 seın. danke schön ------------------ Cahit Öztürk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tapani. Mitglied
Beiträge: 56 Registriert: 12.05.2006
|
erstellt am: 08. Jun. 2006 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für cahit_civ
moin, das Hochzählen der Zahl am Ende des Strings kriegst du so hin: function addone(inp) i = 1 while isNumeric(Right(gg,i)) i = i + 1 wend addone = Left(gg,Len(gg)-i+1) & Right(gg,i-1) + 1 end function gg = "huhu231" hh=addone(gg) msgbox hh 'das sollte dann huhu232 als Ergebnis liefern. Und wenn du ein neues Part einfügst, bekommst du ja das Product-Objekt der Instanz des Parts als Rückgabewert. Auf dem Rückgabewert mußt du dann .PartNumber und .Name ändern bzw. deinen hochgezählten String zuweisen. CU Tapani ------------------ Don't take life so seriously.... it's not a permanent condition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cahit_civ Mitglied Maschinenbau
Beiträge: 65 Registriert: 26.03.2006
|
erstellt am: 08. Jun. 2006 13:40 <-- editieren / zitieren --> Unities abgeben:
|