Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Vznik a historie
Statistiky
Přehledy
Hledat na fóru
Nápověda

Seznam příspěvků uživatele

V tabulce jsou všechny příspěvky uživatele Peter Kovac (petott9) řazené podle témat. Kliknutím na název téma se zobrazíte celou diskusi.

TémaZaloženoOdpověď
Boolean - Ordered body 13.7. 2018 ach jaj, no čo poviem, naozaj som to mal zapnuté, 3x som na to pozeral a 3x zle :D
Ďakujem
 
Design table - import to Excelu 7.10. 2016 no makru som sa chcel v tomto pripade vyhnut, teda ak by to bolo mozne.
Kedze Catia sa lahko synchronizuje s Excelom, dufal som, ze sa bude dat nejakym lahkym sposobom dat updatovat aj Excel. Samozrejme hodnoty len pre vystup z Catie, tzn. ze vstupne parametre pre Catiu by isli z excelu, synchronizacia a potom vystupne naspat z Catie do excelu...
 
KWA Hide/Show annotation 2.6. 2016 skusim, tak by to mohlo ist. I ked rules ako take maju obrovsku vyhodu, ze netreba deklarovat a ze si pamata element aj po premenovani / presunuti. Ale ina moznost ako cez catscript v reaction asi nebude -> dam vediet vysledok....
KWA Hide/Show annotation 1.6. 2016 ..no a prave to je ten problem, ze nie je mozne odchytit Annotation v Rule. Tak ci sa neda nejak inak, nejako deklarovat alebo nieco podobne, ale predpokladam, ze asi nie :-o
 
Automaticke pohlady 11.3. 2016 Dakujem, presne take nieco som mal na mysli. Akurat ale pozeram, ze v obycjanej MD2, ci HD2 take nieco ale nie je k dispozicii, aspon to tak vyzera. Co je skoda.
Kazdoapdne dakujem za odpoved ;)
Peter
 
Rule - join 19.5. 2015 Ano, ten list je dobry napad a teoreticky by to mohlo ist. Ale...:) Dostal som do listu len elementy, ktore su aktivne, ale ako pouzit tento list na vystup pre Join? Treba to pisat v EKL (co tiez netusim ako, kedze sa neviem dostat do Join items), alebo je to mozne zapisat nejakou formulou v Catii?
Mimochodom, zabralo mi opat chvilu dat spravnu syntax pre elementy, ktore su aktivne (v tomto pripade pre surface):
.Query("Surface","x.Activity==true")
Rule - join 18.5. 2015 V skratke, mam v Join niekolko elementov a tie sa na zaklade nejakej podmienky aktivuju/deaktivuju. A deaktivovane veci nie je Join schopny akceptovat, co je samozrejme ok. Preto chcem "manualne" urcit, ktore elementy maju byt v Join.

Inak EKL jazyk ma jednu velku vyhodu oproti VB a to, ze ak raz kliknem na element, tak ci ho presuniem, premenujem, alebo hocico spravim, tak EKL si ho pamata a premenuje v kode. Netreba nic vyhladavat, zlozito deklarovat. Na druhu stranu, ano, pisanie v tomto jazyku je skutocne velmi narocne prave na nedostupnost dokumentacie...
 
KWA pattern 19.4. 2015 tak ospravelnujem sa za uponahlanu otazku, uz som na to prisiel:

Dim listParameter1 As ListParameter
Set listParameter1 = parameters1.Item("List_of_Points")
Dim ref As Reference
Set ref = listParameter1.ValueList.Item(1)
MsgBox ref.Name
KWA pattern 19.4. 2015 dakujem, niekedy to je naozaj jednoduche :)

este jednu malu otazku, nechcem zakaladat novu temu kvoli tomu:
Mam z KWA list, kde mam cez funkciu navolene obsah geometrickeho setu s bodmi. Cize ak pridam do geometrickeho setu bod, tak list sa automaticky upgraduje a ukazuje aktualny pocet objektov.
Otazka znie, viem ako v KWA funguje metoda getitem, ale nemozem prist na to, ako to spravit cez VB. Chcem jednoducho dat do premenej instanciu z listu. Ked som dal vlozit cez object resulution list, tak mi vyhodilo taketo nieco

Dim listParameter1 As Parameter
Set listParameter1 = parameters1.Item("List_of_Points")

s tymto parametrom vsak neviem dalej pokracovat. Viem zistit, kolko list obsahuje objektov, ale nefunguje mi funkcia
listParameter1.GetItem(1)

ak vytvorim rucne
Dim List1 as list
tak nemozem do tohto listu nastavit moj aktualny list...resp. neviem ako
 
Rules - error 29.11. 2013 no funguje a aj nie :) skusil som len s hlaskou, ze prebehol update a je to ok.
Ale, problem je ten, ze pri chybe, t.j pri tom, ako parallel line nema riesenie, tak v tomto pripade ten update neprebehne, cize sa nemoze vykonat ani Reaction...
Rules - error 29.11. 2013 no asi to zle zapisujem - do selection pre reakciu dam part (alebo set), v ktorom sa nachadza moja parallel line a do attribute davam update, zvysok kodu v action ostava rovnaky... nejde :-o
Rules - error 29.11. 2013 Funguje to, ale predsa len otazka :)
Kedze je to reaction, reaguje na nejaku vyvolanu cinnost, v tomto pripade na zmenu offsetu. Co je sice dobre, ale co v pripade, ak sa mi zmeni support. Vtedy to uz fungovat nebude, skusil som najst ine funkcie - nie som si isty, ako funguju atribtuty - je tam dokonca moznost aj error, ale nejdi mi, resp. neviem ako na to.

Najlepsie by bolo asi Rule, ale v tomto pripade to nejde...

Je mozne este nejake ine riesenie?
Rules - error 28.11. 2013 hm, funguje, dakujem!
 
Sweep z viacerych guide kriviek 17.4. 2013 Vdaka za odpoved, co sa tyka zalozenia temy 3x, tak to bolo samozrejme omylom. 2x mi vypisalo chybu pri vlozeni obrazka, tak som vobec netusil, ze bol prispevok zalozeny...
 
rozdelenie krivky 2.3. 2013 invert funguje a aj parameters, ale s tymi parametrami mam ale maly problem. Sice mi tie parametre vytvori v geometrickom sete, ale nemozem ich nijak aplikovat...

Set objGeoSet = Part1.HybridBodies.Item(NazovSetu)  

Set Parameters2 = Part1.Parameters.SubList(objGeoSet,False)
Set length1 = Parameters2.CreateDimension("offset.1", "LENGTH", -2.000000)


pri tomto kode mi vytvori tie parametre v mojom sete. Ked dam ale nahravat makro a pouzit ich na konkretnu vec, tak nejde. btw. chcem to pouzit na ciaru na koniec, cize endoffset.
Nefunguje mi to ale a pri nahravani nic nezaznamena...

moj kod ciary:

Set hybridShapeLineNormal1 = Factory1.AddNewLineNormal(reference1, reference6, 0.000000, -2.000000, false)

hybridBody2.AppendHybridShape hybridShapeLineNormal1
hybridShapeLineNormal1.name = "Line_Normal_1."&i


nemozem vsak na tu hodnotu -2.00000 nastavit moj parameter, skusal som rozne navody, ale ked mi to nespravilo ani pri nahravani makra, tak uz naozaj neviem...
rozdelenie krivky 30.1. 2013 a este k tomu joinu, da sa zmenit orientacia/normala plochy? Ked join normalne rozkliknem, mozem zmenit orientaciu, ale priamo z plochy, je mozne to nejak zapisat?
rozdelenie krivky 30.1. 2013 dakujem, join funguje super. Krivku teda skusim cez to search nejako i ked na teraz som to nechal tak. Ten parameter mi ale nede stale spravit.
ked dam 'Set parameters2 = HybridBody1.Parameters', tak vyhadzuje chybu. Skusil som aj ine varianty, ale nejde...
rozdelenie krivky 29.1. 2013 no neviem, to rozdelenie krivky ma nijak nenapada ani nijak nejde...

este mam ale male 2 podotazky:

1. mam taketo nieco:

Set Parameters1 = part1.Parameters

Parameters1.CreateSetOfParameters HybridBody1
part1.update
Set length1 = Parameters1.CreateDimension("offset.1", "LENGTH", 4.000000)


ako dosiahnem to, aby ten parameter length bol v mojom sete parametrov v mojom hybridbody? pricom ten set parametrov mi pekne spravilo v mojom hybridbody ale konkretny parameter uz nie...

2. dalsi kod:

Set E = Factory1.AddNewJoin(reference1, reference2)

hybridBody1.AppendHybridShape E


ako spravim to, ze chcem joinut len jednu referenciu a to len kvoli tomu, ze si chcem nastavit spravnu normalu a ako taky zachytny bod. Ked z kodu vynecham reference2, tak hlasi chybu. Normalne to spravit ide, v makre ale nie...
rozdelenie krivky 25.1. 2013 asi som nespomenul, ze mam k dispozicii nie skicu, ale krivku a to 3D, cize sa meni v x, y aj z. Mam tu krivku len ako mrtvolu a tu si potrebujem rozdelit na zaklade tangentnosti...
rozdelenie krivky 25.1. 2013 nie som si isty, ako sa to cez Extrakt da spravit, kedze pri extrakte musim vyberat Brep element priamo z plochy, co neviem, ci sa nejako da zapisat do makra.
Jednoduch chcem, ze mame dajme tomu jednu krivku v tvara stvorca a tu chcem rozdelit na 4 casti - cize v krajnych bodoch bude krivka rozdelena, tam kde nie je krivka tangentna. To s Join potom na kontrolu chapem a vedel by som zapisat, ale ten extrakt neviem.

co sa tyka druhej moznosti, aj tak by sa teoreticky to dalo, ale to uz by bolo asi moc komplikovane, kedze krivka je 3D a tu by asi ani ta normala nepomohla...
 
select FACE - name 9.10. 2012 tak toto funguje presne ako ma, akurat stacilo odobrat predposledny riadok Kontext = Kontext & oUpperProduct.name & "/" a v cykle stacilo vymenit kontext za znak &, teda Kontext = oUpperProduct.Name & "\" & Kontext, tym padom netreba ani nahravat do pola a potom prejst obratene a takto dostanem presne strukturu aku som chcel.
DAKUJEM!
zaroven som rad, ze som sa opat nieco naucil, ako ze existuje nieco ako leafproduct a co znamena parent.parent ;)
select FACE - name 9.10. 2012 alebo inak povedane, k tomuto sa viem dopracovat:

Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Chamfer.1_ResultOUT;Z0;G2796))

k tomuto zatial nie a to prave potrebujem:
("Product1/Product7.1/Product6.1/Product3.1/Part2.1/!Axis:(Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Chamfer.1_ResultOUT;Z0;G2796))")

select FACE - name 9.10. 2012 A nebylo by lepší místo složitého odkazování na brep element prostě tu plochu zkopírovat, pak postupně vkládat....

neviem, ako to je myslene, ale vysvetlim presne, co kcem spravit. Dajme tomu, ze mam 30 dier ku ktorym chcem zavazbit napr. skrutky. Na objekte, kde su diery, tie plochy musim tak ci tak vyklikat (+ dosadaciu plochu). To je ale vsetko. Zo skrutky potrebujem jeden BREPelement (popripade 2, ak chcem valcovu cast a plochu dosadaciu, popripde aj ine). Na zaklade referencii z dier a jedneho (alebo viacej) brep elementov na skrutke by uz mala vazba vzniknut. Cize chcem spravit, aby makro spravilo nasledovne: na objekte s dierami treba vyklikat valcove plochy dier a jednu dosadaciu. Na skrutke vybrat len face jednej valcovej a rovnej plochy. Makro potom skopiruje pruslisny pocet skrutiek a zavazbi.

Teraz este k problemu: ak vyberam face, som schopny sa s funkciou parent dostat sa len po part. V pripade vyberu produktov do najhlavnejsej zostavy. Ja chcem ale vyberat face, ako vsak zistit rodicov aj v assembly? a ako sa to da zacyklit? kedze kod je:

MyString = Selection1.Item(1).Value.Parent.Name


a ak chcem zistit rodica tohto rodica, tak:

MyString = Selection1.Item(1).Value.Parent.Parent.Name


neviem z toho spravit cyklus po pociatocneho rodica...
select FACE - name 8.10. 2012 V každém případě ale nebude fungovat reference - tu stejně musíte vytvářet na nějakém objektu typu Part podle názvu

ak chcem referenciu na BREPelement a nahram to cez makro, dostanem:
Product1/Product7.1/Product6.1/Product3.1/Part2.1/!Axis:(Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Chamfer.1_ResultOUT;Z0;G2796))


ak na ten isty face vyberem cez interaktivny vyber, dostanem:
Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Chamfer.1_ResultOUT;Z0;G2796))


..v mojom pripade budem potrebovcat produktov s nazvom "Product7.1" vela kopii, v celom odkaze sa mi bude menit len ten jediny nazov sposobom "Product7.x", kde x je pocet tych kopii a zvysok ostava nezmeneny vratane BREPelementu. Takze ta referencia musi fungovat a to ako:

Set reference1 = product1.CreateReferenceFromName("Product1/Product7.1/Product6."& x &"/Product3.1/Part2.1/!Axis:(Selection_RSur:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Chamfer.1_ResultOUT;Z0;G2796))")

ten nazov som schopny menit a ta referencia by mala fungovat. Cez ten parrent by som sa snad k tomu mal dopracovat. Este neviem presne syntax, ale k tomu sa uz dopracujem. (rad by som sa vyhol BREPelementom, ale v tomto mojom konkretnom pripade sa to neda...)

U objektů typu face, edge, vertex někdy není nutné vytvářet reference, ale lze je podstrčit funkci přímo jako vstup.
tomu moc dobre nerozumiem, ako?


 
selectelement2 - 3 - 4 5.10. 2012 vdaka za rady - uz to funguje, ten posledny kod je dobry (s tym variantom), len som musel prepnut moj form do showmodal=false.
selectelement2 - 3 - 4 4.10. 2012 takto vyzera kod:

Private Sub BuOK_Click()

Dim Productdocument1 As ProductDocument
Set Productdocument1 = CATIA.ActiveDocument
Dim Product1 As Product
Set Product1 = Productdocument1.Product
Dim Selection1 As Variant
Set Selection1 = CATIA.ActiveDocument.Selection
Dim InputObjectType(0)
InputObjectType(0) = "Product"
Dim MySTATUS As String

Call Selection1.Clear

MySTATUS = Selection1.SelectElement2(InputObjectType, "Vyber produkt", False)
End Sub

kde teda BuOK je sub pre command button. Kazdopadne mi to ale zamrzne a nic, musim restartnut... Neviem, ci je to bug alebo co. Na prerusenie nefunguje ani ctrl+break (ci to funguje iba v zacyklenych cykloch?).
Este sa chcem zaroven aj spytat, co sa tyka deklarovania premenych typu Productdocument atd. je mozne to spravit v spustacom "userform_initialize", alebo na zaciatku kodu v "option explicit"? Potrebujem to samozrejme ako globalne, resp. public, ale nefunguje mi to -> pyta opat zadeklarovanie, i ked tipujem, ze problem bude asi syntax, ale to len pomimo otazka...:)
selectelement2 - 3 - 4 4.10. 2012 tak ja neviem, ale nejde mi to... v pripade catscriptu alebo catvbs mi to ide, ale ked som priamo vo VBA editore (teda catvba) a dam to napr. do commandbuttonu, tak to zamrzne...:(

este k tym references, kde to presne najdem? tools/options/general/macros - external references, to je ono?
selectelement2 - 3 - 4 4.10. 2012 tak nepomaha zadeklarovat vselection ani ako variant a ani ako object, a dokonca ani ked necham len Dim vSelection.
Taktiez som skusal inputobject dat ako variant a aj ako string... Najhorsie je, ze catia zamrzne a musim restartnut! neviem, co s tym!
selectelement2 - 3 - 4 4.10. 2012 niec je stale zle

pri mojom prvom zapise mi ako chybovu hlasku vypise:

"function or interface markde as restricted, or the function uses an Aotomation type not supported in Visual Basic"

ked tam dam to s vSelection, tak mi zamrzne Catia. Pritom ale vidim, ze v prikazovom riadku uz vypisuje "Vyber produkt", takze ten prikaz z casti funguje, len to zamrzne cele a neviem preco...
 
relative path 21.9. 2012 mozem to spravit inak a uz aj viem ako, ale mam problem s tym, ze aj tak mi nebere adresar, kde je ulozeny catscript, ak si dam msgbox pre "oShell.CurrentDirectory", tak aj tak mi da temp adresar.
relative path 20.9. 2012 nie som si isty, ako to mam zapisat do mojho makra. Ja mam nasledujuci kod:

Set strFilePath = CATIA.FileSelectionBox("Select Text File","*.txt*",0)

k tomu chcem, aby mi nasiel relativny adresar vzhladom na to, kde je ulozene makro. Niekde som googlil a nasiel taketo nieco:

Dim path As String

path = CATIA.ActiveDocument.Path
Set strFilePath = CATIA.FileSelectionBox(path &"Select Text File","*.txt*",0)

ale nefunguje mi to...
relative path 19.9. 2012 myslim tym adresar, z ktoreho sa spusta makro. Ono mam script a externy subor txt, z ktoreho makro cita. Ked skopirujem makro aj s txt na iny pocitac, tak chcem, aby txt citalo z adresara, kde je ulozene makro...
 
Jak udělat pzicovaný skicář makrem catvba? 3.9. 2012 ...je na to aj nejaky logicky dovod, preco to nejde? ono by sa to celkom hodilo niekedy...
 
tutorial, kniha - VBA makro 6.7. 2012 tak jedine, co som nasiel (a ze som ozaj dlho hladal), je
http://www.amazon.com/VB-Scripting-CATIA-Nick-Weisenberger/dp/1469900688
avsak ma to lne cca 60 stran a asi to ani zdaleka nebude nic take, ako spominana nemecka kniha...
tutorial, kniha - VBA makro 6.7. 2012 co som pozeral nahlad, tak ta kniha vyzera uplne super, az na tu nemcinu! skusal som hladat v anglictine, ale nikde som nenasiel... v anj nevies o niecom podobnom? inak ta kniha je presne co som chcel najst...
tutorial, kniha - VBA makro 4.7. 2012 prave tento navod bol jediny schopny, co som uz nasiel, skusam este podobne najst, ale uz sa mi nic ine nepodarilo... ale aj tak vdaka, take nieco som hladal, ak este niekto bude vediet o niecom podobnom... snad len mozem pridat link na stranku, co som nasiel, ktora tiez moze pomoct:
http://www.scripting4v5.com/additional-articles/sketch-based-features-catscript/
 
Aktivne makro pocas prace 29.6. 2012 ...ako je mozne, ze dnes tam uz nemam ziadny form a v module chyba doplneny riadok "main.show"? Treba ten VBA projekt nejako ukladat?
Aktivne makro pocas prace 28.6. 2012 skusil som aj zhodit catiu a spravit nanovo len jednoduchy priklad s jednym tlacitkom (presne podla clanku). Do modulu som dal len spustenie mojho formu, resp. "main.show". Aj tak nejde, robi to iste, netusim, ci to len catia ma nejake problemy, ale chybu tam nevidim nikde... A z VB to ide spustit normalne...
Aktivne makro pocas prace 28.6. 2012 ..dopisal som spominany riadok, ale nefunguje, resp. moj form sa zobrazi, aj sa da vybrat z comboboxu a klikat na tlacitka, ale nerobi, co ma. A ked pohybujem s celym formom, tak vidno, ze to nejak z***lo, lebo zanechava flak za sebou - jednoducho to mrzne... ked spustim z VB, tak funguje normalne... :-o
Aktivne makro pocas prace 28.6. 2012 na vytvorenie zastupcu/ikony mi nefunguje moj "form", kde mam moje objekty a kod, ale len vytvoreny modul, v ktorom nic nemam...
btw. samostatny VB nemam, iba v Catii a tam asi nie je mozno skompilovat do *.exe*, ci?
 
Axis v dierach 27.4. 2012 PartDesign Features Recognition nemozem najst, mozno an to nemam licenciu. Co sa tyka Hole dimension table, nie som si isty, ako mi to pomoze, nakolko ja nechcem tie osi na urcenie pozicie na vykrese, ale na dalsie modelovanie v parte.

Co sa tyka pripadu, ze nemam mrtvolu, ale zivy model, je mozne tie osi tam dat? Cez search sa daju diery selektnut, a makrom jednotlivo vyberat, ale co potom. Axis si odo mna pyta tak ci tak face a nie hole.

Cez measurable to mozno sice pojde, ale to uz mi pripada trocha komplikovane a neviem ako to zapisem...
 
Mrtvola z bodu 26.4. 2012 este pomimo, je mozne v catscripte spravit aj funkciu na stisk klavesy? cize ak stalcim napr. "Q", vyhodi mi msgbox a ako spravim nasilne ukoncenie. Tzn. ak spravim cyklus, a nehcem, aby to dokoncilo, tak stlacim nejaku klavesu a ukonci makro.
Mrtvola z bodu 26.4. 2012 len na doplnenie, to vytvorenie mrtvoly uz mi ide normalnym sposobom, chcelo ten len doplnit update partu pred tou funkciou...
Mrtvola z bodu 25.4. 2012 nie som si isty, ci som porozumel, ale nepouzival som nikde poziciovanu skicu. Skusim to takto vysvetlit:
Mam plochu (nejaky surface), a tento surface mi pretina ciara. Vsetko, co som spravil je, ze som vytvoril intersect medzi plochou a ciarou. Danym intersectom som spravil aj plane tangentny ku ploche. Ak chcem teraz definovat dieru, potrebujem plane a bod. Plane je bezproblemov, bod (intersect) vsak nejde vybrat zo stromu, ale len z pracovnej plochy, cize v makre nemozem pouzit referenciu. Pre priklad si spravte plane a na plane 2 body. Jeden klasicky "point" a jeden intersect ako bolo vysie uvedene. Pri definicii diery ide "point" vybrat zo stromu, intersect ide iba z plochy a to je ten problem. Ak intersect izolujem, uz ho mozem definovat aj zo stromu.
Mrtvola z bodu 25.4. 2012 Tak si ten bod vytvořte a jako referenci pro něj použijte ten průsečík nebo to co potřebujete

no zas tam nechcem mat plane, intersection a bod a este aj povodny axis. Vzniklo by zbytocne vela elementov a vlastne nemozem vytvorit ani referenciu na intersection pre ten bod, pretoze sa nan neda kliknut zo stromu, ale iba z plochy.

Jedina moznost bude asi ozaj len to copy/pastespecial.

Mimochodom, rad pouzivam "vnorene funkcie" (neviem ako to inak nazvat, tusim sa to volalo stack), tzn. ze ak vytvaram plane, potrebujem napr. bod k tomu plane, tak ten bod si vytvorim v menu plane (pravy klik a create), cize vytvori sa mi len jeden plane v strome v ktorom je vytvoreny aj bod. Avsak ak to nahravam ako makro, tak toto makro vytvori samostatne bod a samostatne plane. Nejde to nejak spravit?
Mrtvola z bodu 25.4. 2012 alebo inak, ten bod potrebujem pre referenciu na dieru. Lenze, pri nahravani makra da bod ako referenciu len v pripade, ak sa jedna o bod, alebo mrtvolu - nie intersection (nemozem vybrat zo stromu, len klik na plochu, cim vznika konkretna referencia nepouzitelna pre makro). To iste je v pripade, ak chcem pre dieru pouzit axis a plochu (plane), kde namiesto referencie na axis hodi suradnice, co bude asi intersection medzi axisom a plane. Pre nazornu ukazku, ako vyzera makro pre dieru pri pouziti axisu a plane (obidve som vyberal zo stromu):

Set hole1 = shapeFactory1.AddNewHoleFromPoint(2102.819714, 973.344627, 35.222706, reference1, 6.000000)


da sa to nejako obist, alebo je moznost len vytvorit mrtvolu z intersection?
Mrtvola z bodu 25.4. 2012 ...to bola teda chyba :-) ale aj tak mi to nefunguje :-o
 
Poziciovana skica 23.4. 2012 tak som to obisiel sposobom, ze som vytvoril k bodom a mojej ploche tangentne roviny, ku ktorym robim potom diery...
Poziciovana skica 20.4. 2012 vdaka, clanok som prestudoval ;)

teraz trocha iny problem nadvazujuci:

Chcel by som vrtat diery na zlozitu plochu pomoco makra. Body mam vytvorene, ktore lezia na ploche (bodycko), lenze pri diere musim definovat "face", co je samozrejme neprakticke. Je nejaka moznost to zadefinovat inak? Nemozem dieru definovat ani na ploche, co je skoda, kedze bodycko mam splitnute prave touto plochou, ktora by sa dala vyuzit...
Poziciovana skica 17.4. 2012 asi chyba link na clanok...
btw. skice nemam vytvorene, aj tie chcem vytvorit - moj postup bol, ze som vytvoril plane, na nom dal poziciovanu skicu s projektovanym bodom, od ktoreho som kotoval (iba kruznicu). A neviem co znamena "sliding", ale snad z toho clanku sa dozviem viac...
 
Odstraneni historie konstrukce 13.4. 2012 tak skopiruj a vloz s linkom, vytvori sa ti solid s aktivnym linkom ale so zachovanymi farbami a tento solid potom este raz skopiruj a vloz ako result. Farby ostanu. Samozrejme tie nastavenia musia ostat. Skusal som teraz a funguje.
Neviem vsak preco to nejde hned ako result...:-o
Odstraneni historie konstrukce 13.4. 2012 tools > options > infrastructure > partinfrastructure > partdocument > color on import management
a tam zaskrtni obidve polozky.
Malo by to fungovat, len sa obavam, ze pokial je uz model vytvoreny a teraz zaskrtnes tie policka v nastaveniach, tak farby nezobere. Nie som si vsak isty, pre istotu skus vytvorit nejaky novy part, narychlo zafarbit a skopirovat, ci to bude fungovat.
 
Advanced rendering 13.4. 2012 okrem textury sa treba poriadne pohrat aj s leskom, roznymi vlastnostami materialu a hlavne svetlom a podobne. Skusal som rozne renderingy v solidworks a vyzeralo to velmi dobre (na 3dmax to samozrejme nikdy nebude mat, ale aj tak velmi slusne). Bohuzial v catii som neskusal, ak existuje v catii modul na foto studio ako jk spominal, tak to musi ist a verim, ze sa daju dosiahnut dobre vysledky... a co sa textury tyka, tak na nete najdes urcite vela kvalitnych textur...
 
MERANIE 28.3. 2012 V dolnej liste mas funkciu Measure item alebo v menu Analyse>Measure item a kliknes na valcovu plochu alebo na hranu kruhu.
 
Interaktivní výběr feature 22.3. 2012 viem, to uz bol len taky pokus:)
uz mi to ale ide - v clanku bol deklarovany sFilter a dalej bol pouzity uz len ako Filter...
 
PowerCopy + cislovanie 22.3. 2012 dakujem, funguje ;)

otazka dalsia, uz je to sice off topic, ale nadvazuje na predchadzajuce.

pri zadani do hladaneho nazvu, napr. toho xLineB zadam napr. *xLine*, najde vsetky elementy obsahujuce zadanu cast xLine. To chcem, len rad by som dosiahol to, ze prave oznacenu cast zo vsetkych najdenych elementov premenujem na novy nazov a zvysok nazvu ostane. Cize ako premenujem len cast nazvu.
PowerCopy + cislovanie 20.3. 2012 no a narazil som opat na problem. Chcel som si spravit troska interaktivne prepisovanie a kod vyzera nasledovne:

Sub CATMain()

Dim Nazov1, Nazov2, Text, answer, answer2 As string

Nazov1="xLineB"
Nazov2="xAxisB."

Do

Nazov1=inputbox("Zadaj nazov, ktory ma byt premenovany","Napis nazov", Nazov1)
If Nazov1=False Then Exit sub
Nazov2=inputbox("Zadaj novy nazov","Napis nazov", Nazov2)
If Nazov2=False Then Exit sub

Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Search("Name=Nazov1,all")

Text="Pocet najdenych elementov s nazvom '" & Nazov1 & "' je rovny: "& oSelection.Count &". Premenovat najdene elementy na '" & Nazov2 & "'?"
answer=msgbox(text, vbQuestion + vbYesNo, "Info")

'----
If answer=vbNo then
Exit sub
End if

'-----
If answer=vbyes then
For i = 1 To oSelection.Count
oSelection.Item(i).Value.Name = Nazov2 & i
Next
End if

answer2=msgbox("Premenovat dalsie elementy?", vbQuestion + vbYesNo, "Info")

Loop Until answer2=vbNo

End Sub


problem vsak nastal v tomto bode:
oSelection.Search("Name=Nazov1,all")


nemozem tam dostat jednoducho tu premennu, teda Nazov1, stale mi ho berie ako text a nie ako string s urcitym obsahom. Ide len o syntax, ale uz som skusil vsetko mozne a nie a nie to tam dostat...
PowerCopy + cislovanie 20.3. 2012 tak konecne, za pomoci toho spominaneho Search v menu Edit (je to pekne prehladne spravene) funguje takato syntax:
oSelection.Search("Type='Line' & Name=xLineA,all")


dakujem
PowerCopy + cislovanie 19.3. 2012 format
Type='.Line'
hlasi ako chybny. Pocet najdenych dava 0. Skusil som tiez len podla nazvu, snad sa da takto zapisat:

oSelection.Search("Name='xLineA'; all")

Ale tiez pocet najdenych 0.

Netreba nejako definovat, kde ma hladat? Teda v akom geometrickom set atd., ci toto hlada v celom parte?
PowerCopy + cislovanie 19.3. 2012 kod vyzera nasledovne:

Sub CATMain()


Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("PartBody")

Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Search("Type='Line' & Name='xLineA'; all")
For i = 1 To oSelection.Count
oSelection.Item(i).Value.Name = "xAxis." & i
Next

part1.Update

End Sub


sice makro nehlasi chybu, ale ani nic nespravi, resp. ako keby nenasiel ziadny vyber a nema co premenovat...
PowerCopy + cislovanie 16.3. 2012 Publikacia mi nesla, knowledgeware template nepoznam, ale precislovanie pomocou makra je vlastne vynikajuci napad. Otazkou pre mna ostava, ako :)
Premenovat sa da, neviem vsak, ako spravit, aby postupne preslo celym partom, naslo vsetky ciary, resp. pocet s rovnakym nazvomm, ale predovsetkym ako ich postupne premenovat, kedze maju vsetky rovnaky nazov. Sice co to spravim, nie som ale zrovna moc zrucny v makre.
Predpokladam, ze najprv zistim pocet opakujucich sa ciar s rovnakym nazvom (neviem ako ma kod vyzerat) a potom algoritmom na zaklade poctu jednotlivo premenujem, neviem vsak, ako to spravit aby to postupne premenovavalo... Postupne sa tym nejako "prehryziem", urcite by mi vsak pomohla nejaka pomoc...
 
assembly - vazby a hierarchia, filter 15.3. 2012 ad zoskupovanie
Podzostavu nie, pretoze, ako ste pisali, vytvori mi fyzicky subor a to nechcem. Co sa tyka componentu, uz som to raz skusal, ale viem ze som tam mal problemy, ale asi radsej popisem jednoduchy priklad:

Dajme tomu, ze mame dosku s dieramy. V assembly teda produkt, resp. part "Doska". Teraz ako dalsiu polozku do assembly vytvorim new component, s nazvom napr. standard parts, v tom dalsie 2 komponenty napr. skrutky a matice. Do tychto komponentov povkladam jednotlive party, teda skrutky a matice. Tie chcem ale vazbit k mojej doske a tu je problem, pretoze ten komponent "standart parts" mi samozrejme bere ako celok, cize jednotlive podskupiny nemozem vazbit. Ako na to teda?

Ked sme uz pri tom zoskupovani, este sa chcem spytat, ci je nejake moznost aj v parte. Je mozne niekolko split operacii za sebou hodit do nejakej booloeanovskej funkcie? Pri klasickych funkciach padov, pocketov ide, pri splite nie - chapem, ze nema co pridat alebo odobrat (aj samotna Catia to vypise, ze nema z coho odobrat), len chcem vediet, ci nahodou neexistuje nejake moznost.

ad makro
pravda je, ze som robil na 32bit a potom skusal na 64, takze aj v tom moze byt problem. btw. nejaky zasadny rozdiel medzi CATscript a CATVBA?
a ano, myslel som tie BiDimFeatEdge apod. ale nevedel som, ze sa da aj nazvy objektov...

Kazdopadne dik za pomoc
 
Vyhledaní daného feature v sestavě 25.4. 2012 tak uz mi to ide:

oSelection.add HybridBody1


a potom

oSelection.Search("Name=" &Nazov1 & ", sel")

Vyhledaní daného feature v sestavě 25.4. 2012 ako mozem vyhladat urcity nazov v konkretnom geometrickom sete

Set hybridBodies1 = oPart.HybridBodies

Set HybridBody1 = oPart.FindObjectByName(NazovSetu)

Nazov1="Axis*"
oSelection.Search("Name=" &Nazov1 & ", in")


Takto to funguje tak, ze mi vyhlada v celom parte. Myslel som, ze ak budem definovany v sete, tak bude hladat len tam, ale mylil som sa. Viem, ze "sel" budem vyberat len zo selekcie, ale ako to zadat, aby bol oznaceny dany geometricky set? Skusil som viacero sposobov, nijaky mi nefunguje zatial...

 
Vlozeni objektu do daneho umisteni v sestave 21.3. 2012 zaujimava a prakticka vec, chcem sa spytat este na jednu moznost:

pri nastavovani prislusnych objektov je pouzite item(1), kde cislo znaci poradove cislo v strome. Konkretne:
Set oPart1 = oL1SubProducts.Item(1)

Co v pripade, ak nepoznam cislo, ale nazov objektu. Teda, ze viem, ze v strome je napr. product s nazvom XX, ale neviem kolky je v poradi a chcem ho skopirovat. Teda aby makro naslo produkt s danym nazvom a vykonalo operaciu vyssie uvedenu.