Vytisknout stránku | Zavřít okno

Popis súčiastky

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: Inventor
Popis fóra: Otázky k programům Autodesk Inventor, Inventor Professional a Inventor LT, Product Design Collection a Suite, Factory Design Suite; a digitální prototypy
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=17945
Datum vytištění: 01.kvě.2026 v 11:25


Téma: Popis súčiastky
Odeslal: CADCAPONE
Předmět: Popis súčiastky
Datum odeslání: 23.zář.2013 v 16:19
Dobrý den.

Chcem sa spýtať či sa nedá automaticky za pomoci iLogic rozložiť názov súčiastky.
Napr. SW_34_05_02_Grundplatte toto celé sa mi zapisuje do čísla součásti. Ja by som to potreboval rozložiť na SW_34_05_02 to by bolo číslo součásti a Grundplatte aby zapísalo do popis (musí to byť velkým písmom).
Ale povodný názov ktorý vidím v zložke je SW_34_05_02_Grundplatte.

ILogic moc neovládam skôr vôbec.

Ďakujem za radu



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 23.zář.2013 v 17:07
Princip najdete v tipu:
http://www.cadforum.cz/cadforum/pouziti-ilogic-na-rozklad-jmena-ipt-souboru-naplneni-ivlastnosti-tip9341 - http://www.cadforum.cz/cadforum/pouziti-ilogic-na-rozklad-jmena-ipt-souboru-naplneni-ivlastnosti-tip9341
Je potřeba přesně popsat vzor názvu - oddělovače nebo pevné délky podřetězců.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 24.zář.2013 v 05:51
Tomu vôbec nerozumiem ako by som to mal prepísať. Dalo by sa mi pomôcť prosím.

Ďakujem


Odeslal: Vladimír Michl
Datum odeslání: 24.zář.2013 v 07:11
Rádi pomůžeme, ale právě že potřebujeme přesněji popsat ten vzor - dochází k oddělení vždy po 4. podtržítku? Nebo po posledním podtržítku? Nebo vždy po 12. znaku? Nebo po poslední numerické skupině?

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 24.zář.2013 v 07:29
Dochádza tomu vždy po poslednom podtržníku aby sa oddelil názov a zapísal do iVlastností "POPIS"
SW_17_00_02_Grundkorper
DFM_W_05_03_Schneidplatte
SW_27_01_10_07_Zwischenstuck

Uviedol som tu aj príklady. Počet podtržníkov sa môže meniť.

Velmi pekne ďakujem


Odeslal: Vladimír Michl
Datum odeslání: 24.zář.2013 v 08:08
Mělo by fungovat toto (netestováno):
 
docname=ThisDoc.FileName(False)
Dim matches As System.Text.RegularExpressions.MatchCollection
Dim match As System.Text.RegularExpressions.Match
Dim groups As System.Text.RegularExpressions.GroupCollection
matches = System.Text.RegularExpressions.Regex.Matches(docname, "\b.+_(.+)$\b")
If matches.count>0 Then
 For Each match In matches
  groups = match.Groups
  iProperties.Value("Project", "Description") = groups.item(1).Value
  MsgBox("iProperties set to " & groups.item(1).Value)
 Next
 Else
 MsgBox("No match!")
End If


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 24.zář.2013 v 08:25
Ďakujem velmi pekne funguje to.
Rozdeleni funguje ale ak by som mohol mať dotaz.

SW_34_07_00_Adapter
Rozdelí to pekne "Adapter zapíše do popisu" ale celý názov mi zostáva v čísle súčiastke SW_34_07_00_Adapter a to červeným by som potreboval vymazať preč s čísla součásti aby som to nemusel mazať ručne.

A nedalo by sa náhodou urobiť že vytiahne číslo "
SW_34_07_00" a zapíše ho do čísla součásti a zasa názov "Adapter" by sa zapísal do popisu. Tým by sa mi vyriešilo všetko.

Ak sa to tak ovšem dá tak urobiť.


Odeslal: Vladimír Michl
Datum odeslání: 24.zář.2013 v 08:32
Ano, to je jen drobná úprava:
 
docname=ThisDoc.FileName(False)
Dim matches As System.Text.RegularExpressions.MatchCollection
Dim match As System.Text.RegularExpressions.Match
Dim groups As System.Text.RegularExpressions.GroupCollection
matches = System.Text.RegularExpressions.Regex.Matches(docname, "\b(.+)_(.+)$\b")
If matches.count>0 Then
 For Each match In matches
  groups = match.Groups ' parenthesis 1 and 2
  iProperties.Value("Project", "Description") = groups.item(1).Value
  iProperties.Value("Project", "Part Number") = groups.item(2).Value
  MsgBox("iProperties set to " & groups.item(1).Value & " and " & groups.item(2).Value)
 Next
 Else
 MsgBox("No match!")
End If


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 24.zář.2013 v 08:38
Ďakujem velmi pekne.
Funguje to ako má.
ulahčili ste mi robotu


Odeslal: CADCAPONE
Datum odeslání: 27.lis.2013 v 08:43
Dobrý den. funguje to fajn ale narazil som na problém:

Pri tvare SW_17_00_02_Grundkorper_SPI......mi to rozdelí na číslo súčiastky SW_17_00_02_Grundkorper a do popisu dá SPI (to znamená zrkadlové).Dá sa to prosím nejak ošetriť?

Další problém mám s tým že by som to potreboval to rozdelenie zvoliť len raz. Ak na súčiastke niečo zmením a dám to uložiť sa tam vyhadzuje stále tá tabulka. Dá sa to nejak urobiť aby to rozpísalo len raz a ked znovu uložím dokument že to nebude chcieť znova rozpisovať. Pri zostave 500 súčiastkach je to na dlho.

Ďakujem za odpoveď


Odeslal: Vladimír Michl
Datum odeslání: 27.lis.2013 v 09:36
To makro je navržené podle logiky "odděl za posledním podtržítkem". Pokud v některých případech tato logika neplatí, je potřeba stanovit jinou. Z toho příkladu mi nějaká jiná snadná logika nevyplývá - nebo je to vždy "5. skupina oddělená podtržítky"? nebo snad "první nečíselná skupina za čistě číselnými"? To už je na regulární výrazy trochu složitější.
To, kdy se dané pravidlo má spouštět, určujete pomocí událostí. Pokud se má spouštění nějak automatizovat podmíněně, upravili bychom makro jako zakázkový vývoj.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 27.lis.2013 v 10:09
Tu prvú ulohu som vyriešil : SW_17_00_02_Grundkorper_SPI som nahradil SW_17_00_02_Grundkorper-SPI takže už to rozdeluje tak ako má SW_17_00_02 a na popis Grundkorper-SPI.

ta druha otázka by sa nadala spustiť caz spoušteč udalosti. Mám to nastavené na "po uložení dokumentu" či by sa to dalo zmeniť, lebo ked dávam uložiť po každej konštrukčnej zmene stále ten názov vyhadzuje a rozdeluje čo už ale nepotrebujem ked sa to  rozdelilo na začiatku.


Odeslal: CADCAPONE
Datum odeslání: 28.led.2014 v 14:25
Prosím Vás dalo by sa to zordeliť za poslednou číselnou radou? ako by vyzeral ten kód. Nemožem nato prísť.


Ďakujem


Odeslal: Vladimír Michl
Datum odeslání: 28.led.2014 v 15:18
Regulární výraz by pak měl vypadat takto:
 
\b(.+)_(\D+)$\b
 
ale nezkoušeno.


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 28.led.2014 v 21:15
Dobrý večer.

Ďakujem za výraz ale nefungu je to.

docname=ThisDoc.FileName(False)
Dim matches As System.Text.RegularExpressions.MatchCollection
Dim match As System.Text.RegularExpressions.Match
Dim groups As System.Text.RegularExpressions.GroupCollection
matches = System.Text.RegularExpressions.Regex.Matches(docname, "\b(.+)_(\D+)$\b")
If matches.count>0 Then
 For Each match In matches
  groups = match.Groups ' parenthesis 1 and 2
  iProperties.Value("Project", "Description") = groups.item(2).Value
  iProperties.Value("Project", "Part Number") = groups.item(1).Value
  MsgBox("iProperties set to " & groups.item(1).Value & " and " & groups.item(2).Value)
 Next
 Else
 MsgBox("No match!")
End If




toto je už s tým novým výrazom.
Skúšal som to na GRM_W_02_20_12_PLATTE_LINKS
Potrebujem to rozdeliť o poslednom čísle.

Ďakujem veľmi pekne.



Odeslal: Vladimír Michl
Datum odeslání: 28.led.2014 v 21:27
Tento název se ale strukturou liší od předchozích případů. Pokud se to dále nezkomplikuje dalším případem, tak aktuální regulární výraz je tento (koncové skupině/skupinám ale teď musí předcházet alespoň jedna numerická skupina a v poslední skupině nesmí být číslice):
 
\b(.+\d+)_(\D+)$\b


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: CADCAPONE
Datum odeslání: 28.led.2014 v 21:37
Ďakujem veľmi pekne.
Snád sa to už neskomplikuje.To by mal byť výsledný názov súšiastky.

Ešte raz vám ďakujem



Vytisknout stránku | Zavřít okno