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

Obarveni plochy

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

UživatelPříspěvek
Pavel Krsek

Poslat zprávu | Profil
Datum: 6.9. 2012 | Zobrazeno: 10222x
Konfigurace CATIA:

Text dotazu:
Ahoj,
mam nasledujici cast scriptu:

Selection.Search "Topology.CGMFace,sel"

For i = 1 To Selection.Count
On Error Resume Next
Set oFace = Selection.Item(i).Value
Set oMeasurable2 = oSPAWB.GetMeasurable(oFace)
If oMeasurable2.Radius = Len1 / 2 Then
Selection.Clear
Selection.Add (oFace)
visPropertySet1.SetRealColor 95, 0, 95, 0
Selection.Clear
Selection.Add (userPattern1)
End If
Next

Script vyhleda na urcitem solidu jeho plochy a pri splneni podminky obarvi danou plochu.
Muj spatny script obarvi jen jednu plochu (podminku splnuje ale vice ploch) - je to tim, ze zkousim vymazat selekci a pak ji opet pridat.

Muj dotaz je:

1) jde obarvit plochu oFace aniz by nebyla v selekci?
2) pokud v podmice If pouziji Seletion.Clear jde nejak udelat aby funkce For-Next dale pracovala spravne?

Diky za radu

agaragar

Poslat zprávu | Profil
[#3323] | Publikováno: 06.09. 2012 - 19:03
V tom cykle sa selection vymaže príákazom clear a stratí sa všetko dovtedy selectované, tam je chyba.

Skript by možno bolo vhodné obohatiť o ďalší Select, teda ten prvý by bol
Selection1 - tam by bolo všetko v jednom vreci z funkcie search a
Selection2 - by sa mohol ten výber premazávať tak ako to je napísané v tom cykle.




Pavel Krsek

Poslat zprávu | Profil
[#3324] | Publikováno: 06.09. 2012 - 19:41
Diky za radu.
To mě již také napadlo. Zkoušel jsem to, ale nefungovalo to (snad jsem to dobře napsal).
Nejsem si vubec jisty, zda-li jde kombinovat vice selekci.
agaragar

Poslat zprávu | Profil
[#3325] | Publikováno: 06.09. 2012 - 19:48
Potom skuste niekde ukladať tie selektované položky, do nejakej premennej.
Ing Jan Cinert

Poslat zprávu | Profil
[#3327] | Publikováno: 06.09. 2012 - 21:26
Proboha, selekce může být vždycky jenom jedna - je to jako kdybyste to dělal v Catii - jak uděláte dva různé výběry????

Teroreticky může být víc výběrů, ale každý v jiném dokumentu.

Stačí si nadeklarovat pole a objekty selekce uložit do něj, pak s nimi můžete pracovat jak chcete.

Barvu jinak než pomocí selekce nezměníte - jde to jen pomocí vlastnosti VisProperties, která je jen v selekci.

Příklad na uložení selekce do pole:

Dim Objekty()
' vytvoření selekce
ReDim Objekty(oSelection.Count - 1)

For i = 1 To oSelectionCount
Objekty(i - 1) = oSelection.Item(i)
Next

' ted mame objekty vyberu v poli

For i = 0 To UBound(Objekty)
' obarveni ploch
Next
Pavel Krsek

Poslat zprávu | Profil
[#3329] | Publikováno: 07.09. 2012 - 07:28
Diky za dalsi rady.
Ja jsem to jiz vcera zkousel s tim naplnenim pole. To se mi podarilo, ale jelikoz s poli neumim moc pracovat, tak nevim jak napsat, aby se selektovali objekty ulozene v poli (objekty). Zkousel jsem napr.:

oSelection.Add (objekty(1))

pro oznaceni jedne polozky z pole, ale to nefunguje. Nic se neoznaci (neselektuje).
Pavel Krsek

Poslat zprávu | Profil
[#3332] | Publikováno: 08.09. 2012 - 09:46
Ahoj,
tak jsem trochu pokrocil, ale cil stale v nedohlednu.
Muj script najde na danem solidu plochy Rsur, ty dle urcite podminky vyhodnoti a ulozi jejich jmeno do pole napr. Objekty viz. p. Cinert.
Dale se musi jmeno Rsur........ upravit tak, aby z neho pres funkci CreateReferenceFromBRepName sla vytvorit reference. To vse se mi podarilo, ale i když je selekce ploch aktivni, tak nefunguje obarveni viz. SetRealColour.

Po skonceni makra plochy stale jsou oznaceny (umyslne jsem nedal oSelection.Clear) a toolbar s barvamy se zobrazuje pozadovana barva, ale realita je jina tj. plochy obarveny nejsou.

Na stejne tema je diskuze zde:
http://ww3.cad.de/foren/ubb/Forum137/HTML/003912.shtml
ale nepochopil jsem z ni reseni.

Nevite nekdo jak na to?
Ing Jan Cinert

Poslat zprávu | Profil
[#3333] | Publikováno: 10.09. 2012 - 12:24
Pozor na dědičnost! Jestli máte obarvenou feature, barva plochy se nemusí projevit. Zkusil bych nejdřív resetovat properties.


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.