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
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

rozdelenie krivky

Kompletní přehled příspěvků v tématu rozdelenie krivky řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Peter Kovac

Poslat zprávu | Profil
Datum: 24.1. 2013 | Zobrazeno: 10258x
Konfigurace CATIA:

Text dotazu:
Zdravim

Je mozne pomocou makra rozdelit krivku na jej tangentne casti? Cez extract to asi nepojde, lebo treba vybrat element z ciary od ktorej potom vybere tangentnu cast...

Ing Jan Cinert

Poslat zprávu | Profil
[#3635] | Publikováno: 24.01. 2013 - 22:15
Dobrý den,

myslíte křivku rozdělit v bodech s netangentním napojením? Pomocí Extraktu by se daly přes search vytahat jednotlivé části a ty pak pospojovat Joinem, který by měl tangentní návaznost zkontrolovat. Nevím ale jak by se extrahované části seřadily, takže by mohl být problém s návazností vůbec.

Jinak by to bylo asi dost komplikované, v každém bodě by se musela vytvářet normála - normály v odpovídajících bodech, resp. úhel který by svíraly, by pak udával návaznost (u Catie do 0,5° je to OK).
Peter Kovac

Poslat zprávu | Profil
[#3636] | Publikováno: 25.01. 2013 - 08:11
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...
Ing Jan Cinert

Poslat zprávu | Profil
[#3637] | Publikováno: 25.01. 2013 - 10:49
To se dá udělat přes search. Nejprve vyberete skicu, a pak budete hledat objekty typu Edge (správně je to tuším BiDimFeatEdge) na předvybraném objektu - skice. Tím pádem se vyberou jen části skici a nic jiného. Z nich se potom udělají extrakty, myslím že asi ani není nutné jít přes vytváření referencí.

Tímhle způsobem jsem nedávno extrahoval hrany na vytvořeném padu, bez problémů.
Peter Kovac

Poslat zprávu | Profil
[#3638] | Publikováno: 25.01. 2013 - 12:25
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...
Peter Kovac

Poslat zprávu | Profil
[#3639] | Publikováno: 29.01. 2013 - 10:28
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...
Ing Jan Cinert

Poslat zprávu | Profil
[#3640] | Publikováno: 29.01. 2013 - 11:04
Ještě k předchozímu dotazu - je úplně jedno jestli je to skica nebo 3D křivka, chová se to úplně stejně. Je složená z brep elementů typu edge, které jsou oddělené elementy typu vertex.

A k dalším otázkám:
ad 1)
Při vytváření parametru musíte jako výchozí objekt použít parametry v setu parametrů HybridBody1. Parameters1 jsou parametry v partu, proto se vám nový parametr vytváří zde.

Takže se vytvořte Parameters2, což budou parametry v Setu HybridBody1 a z nich potom vytvářejte nový.

ad 2)
To je úplně jednoduché, kdysi jsem se s tím také trápil - místo Reference2 bude Nothing, to stačí, join se vytvoří.
Peter Kovac

Poslat zprávu | Profil
[#3641] | Publikováno: 30.01. 2013 - 13:36
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...
Peter Kovac

Poslat zprávu | Profil
[#3642] | Publikováno: 30.01. 2013 - 15:02
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?
Ing Jan Cinert

Poslat zprávu | Profil
[#3643] | Publikováno: 31.01. 2013 - 14:42
Určitě se dá použít vlastnost invert, která otočí normálu.
Peter Kovac

Poslat zprávu | Profil
[#3705] | Publikováno: 02.03. 2013 - 14:42
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...
Ing Jan Cinert

Poslat zprávu | Profil
[#3706] | Publikováno: 02.03. 2013 - 19:44
Rekordér tohle rozhodně nezvládne. Na to abyste přiřadil do limitu line hodnotu z parametru, musíte vytvořit formuli, která bude řídit parametr objektu Line vaším vytvořeným parametrem. Přes reference se vkládá jenom geometrie.


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.