Mrtvola z bodu
Uživatel | Příspěvek |
Peter Kovac Poslat zprávu | Profil |
Datum:
24.4. 2012
| Zobrazeno:
10468x Konfigurace CATIA: Text dotazu: Set oRefDatum = oPart.CreateReferenceFromObject(oJoin)ked to vsak aplikujem na moj kod, nefunguje ' Vytvorenie intersection bodu medzi plochou a axisom chybu mi vyhadzuje pri: Set oDatum = hybridShapeFactory1.AddNewPoinDatum(oRefDatum)
nemozem najst chybu... Aj ked som makro nahraval a pozrel, je to v podstate to iste... |
Ing Jan Cinert Poslat zprávu | Profil |
[#2883]
| Publikováno:
24.04. 2012 - 16:42 Opravte si AddNewPoinDatum na AddNewPointDatum :-) |
Peter Kovac Poslat zprávu | Profil |
[#2886]
| Publikováno:
25.04. 2012 - 09:38 ...to bola teda chyba :-) ale aj tak mi to nefunguje :-o |
Peter Kovac Poslat zprávu | Profil |
[#2889]
| Publikováno:
25.04. 2012 - 11:13 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? |
Ing Jan Cinert Poslat zprávu | Profil |
[#2890]
| Publikováno:
25.04. 2012 - 11:18 A opravdu vám vzniká průsečík jako bod? Pokud by se vytvářela křivka, mohl by to být problém.
Můžete zkusit i další způsob - zkopírovat do schránky a vložit pomocí PasteSpecial. Výsledek je stejný. |
Ing Jan Cinert Poslat zprávu | Profil |
[#2891]
| Publikováno:
25.04. 2012 - 11:22 Uživatel odpovídá na příspěvek #2889:Tak si ten bod vytvořte a jako referenci pro něj použijte ten průsečík nebo to co potřebujete. |
Peter Kovac Poslat zprávu | Profil |
[#2892]
| Publikováno:
25.04. 2012 - 12:13 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? |
Ing Jan Cinert Poslat zprávu | Profil |
[#2893]
| Publikováno:
25.04. 2012 - 13:04 Já to moc nepoužívám ani normálně kvůli přehlednosti, ale určitě to jde udělat i v makru. Zkusil bych použít AppendHybridShape až u posledního objektu v prvním levelu stromu, ostatní použité by se měly vnořit pod něj.
A jinak ještě k té díře. Pro referenční bod díry potřebujete opravdu fyzický bod, a je jedno jestli to je Point nebo Intersection. Vy ale zřejmě mluvíte o intersection něčeho se skicovací rovinou při definici pozicované skici, to je něco jiného. Pokud před výběrem roviny vyberete bod, střed díry se sváže s tímto bodem nezávisle na počátku souřadného systému skici. Při použití pozicované skici se počátek jejího souřadného systému posune do vybraného bodu. Souřadnice středu díry, které zaznamenalo makro jsou právě hodnoty vzdáleností nakliknutého bodu na gemetrii od počátku skici, kterým je promítnutí bodu 0,0,0 do skicovací roviny. Stačí použít sliding skicu, ale ak se pro správně napolohování musí použít point. |
Peter Kovac Poslat zprávu | Profil |
[#2894]
| Publikováno:
25.04. 2012 - 14:13 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. |
Ing Jan Cinert Poslat zprávu | Profil |
[#2895]
| Publikováno:
25.04. 2012 - 18:44 Ten Intersect nepůjde zřejmě proto, že výsledkem může být i křivka nebo vícenásobná entita - díra by pak měla neplatnou referenci. Takže opravdu nezbývá než vytvořit i ten bod jako Point. Pokud chcete šetřit místem, bod dělat jako mrtvolu a zbytek smazat, ztratíte asociativitu a v případě modifikace budete muset dělat díry znovu. |
Peter Kovac Poslat zprávu | Profil |
[#2898]
| Publikováno:
26.04. 2012 - 09:21 len na doplnenie, to vytvorenie mrtvoly uz mi ide normalnym sposobom, chcelo ten len doplnit update partu pred tou funkciou... |
Peter Kovac Poslat zprávu | Profil |
[#2899]
| Publikováno:
26.04. 2012 - 09:31 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. |
Ing Jan Cinert Poslat zprávu | Profil |
[#2900]
| Publikováno:
26.04. 2012 - 11:12 V CATScriptu asi neuspějete, myslím že nedokáže zachytávat klávesnici. Určitým způsobem jde nasimulovat stisk určité klávesy, ale obráceně ne. Musel byste přejít na jinou platformu. |
Uživatel nepřihlášen
Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.