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

vytvoření textu pomocí Makra

Kompletní přehled příspěvků v tématu vytvoření textu pomocí Makra řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Petr Hovorka

Poslat zprávu | Profil
Datum: 2.11. 2015 | Zobrazeno: 10435x
Konfigurace CATIA: CATAI V5

Text dotazu:
Zdravím,

tak se pokouším udělat vložení textu do výkresu pomocí makra a nějak na to nemůžu na internetu nic najít jde to vůbec?

Potřebuju jednoduchý formátovaný text (červený) "Date Release 15.10.2015"

Nemáte někdo nějaký jednoduchý příklad?

Díky Petr

Andrej Verný

Poslat zprávu | Profil
[#5444] | Publikováno: 02.11. 2015 - 10:48
Určite to ide.

Tu sú nejaké odkazy ktoré som našiel v priebehu 10 sekúnd na googli, ktoré by Vám mohli pomôcť.
http://www.eng-tips.com/viewthread.cfm?qid=349068
http://www.coe.org/p/fo/et/thread=18745
http://www.coe.org/p/fo/et/thread=18631

Stačí si ich prejsť a máte tam zadefinované všetko čo potrebujete. jedine čo tam asi nebude je farba textu ale to sa dá dohľadať v Automation.chm. Tak snáď vám to pomôže.
Dávnejšíe som robil aj ja nejaké makro na vkladanie textu do Drawingu, tak možno ho niekde vyhrabem a hodim sem.
Andrej Verný

Poslat zprávu | Profil
[#5445] | Publikováno: 02.11. 2015 - 11:21
Ešte jedna veľmi easy z netu


Dim DrwTs As DrawingTexts
Set DrwDocument = CATIA.ActiveDocument
Set DrwSheets = DrwDocument.Sheets
Set DrwSheet = DrwSheets.ActiveSheet
Set DrwView = DrwSheet.Views.ActiveView
Set DrwTs = DrwView.Texts
' pre VAs pripad
Dim txtUser As String
txtUser = "Date Release 15.10.2015"

Set TextUser = DrwTs.Add(txtUser.Text, 0, 0)


Ešte k farbe ... v skratke - Dať si text do selekcie a v cez visproperties

oSeleckcia .VisProperties.SetRealColor 255, 0, 0, 1

alebo cez

redCol =-16776961
MyText.SetParameterOnSubString catColor, 0, 0, redCol 'Encoded RGBA color within long integer (R=255 G=0 B=0 A=255)
Milan Kubišta

Poslat zprávu | Profil
[#5446] | Publikováno: 03.11. 2015 - 08:41
Koukám, že nemám Automation.chm - kde by měl být?
Andrej Verný

Poslat zprávu | Profil
[#5447] | Publikováno: 03.11. 2015 - 08:52
zopar seku-nd na googli :))
------------------------------
You should be able to find the V5automation.chm file by searching your CATIA install folder for .chm. It should be located in a folder like:
CATIA_V5\INTEL_A\CODE\BIN\V5AUTOMATION.CHM
Or maybe something like:
V5R20\WIN_B64\CODE\BIN
--------------------------------------
Pre release R19 64 bit asi takto
C:\Program Files\Dassault Systemes\B19\win_b64\code\bin\V5Automation.chm
------------------
treba hľadať tam kde je inštalovaná CATIA.- potom podľa releasu podľa 32 alebo 64 bit - a potom do code\bin
Snáď pomohlo :)
Milan Kubišta

Poslat zprávu | Profil
[#5448] | Publikováno: 03.11. 2015 - 09:15
už pomohlo, dík, nějak předtím blblo hledání v total commander, proto jsem zpanikařil :)
Břeťa Doležal

Poslat zprávu | Profil
[#5962] | Publikováno: 12.09. 2016 - 16:14
Nevíte někdo, jak je barva zakódována do long integeru? Jak mohu z long integeru dostat jednotlivé složky, R,G,B,A?


MyText.SetParameterOnSubString catColor, 0, 0, redCol 'Encoded RGBA color within long integer (R=255 G=0 B=0 A=255)


Při pokusování to vypadá, že pokud je Red nejmenší, tak je to klasika, např. R=10 (0A),G=110 (6E),B=210 (D2) -> Long Int = 175035135 (0A:6E:D2:FF). Pokud je ale Red vyšší než ostatní, tak se objevuje záporné číslo. Možná to bude 256^3 - klasika. Nechápu kdo toto vymýšlel a proč....
Břeťa Doležal

Poslat zprávu | Profil
[#5963] | Publikováno: 13.09. 2016 - 09:14
Už to mám:
zde je rozklíčování, pro mnohé z Vás asi žádné překvapení:

CATBarva = dt.GetParameterOnSubString(CatTextProperty.catColor, 0, 0)
If CATBarva > 0 Then
r = CInt((CATBarva \ (256 * 256 * 256)) Mod 256)
g = CInt((CATBarva \ (256 * 256)) Mod 256)
b = CInt((CATBarva \ 256) Mod 256)
Else
CATBarva = CLng(256 ^ 4) + CATBarva
r = CInt((CATBarva \ (256 * 256 * 256)) Mod 256)
g = CInt((CATBarva \ (256 * 256)) Mod 256)
b = CInt((CATBarva \ 256) Mod 256)
End If
.Color = Color.FromArgb(r, g, b)

Břeťa Doležal

Poslat zprávu | Profil
[#5964] | Publikováno: 13.09. 2016 - 12:15
A pokud to potřebuji opačně pro CATII, tak následovně.

CATBarva = CLng(255L + (256L * b) + (256L * 256L * g) + (256L * 256L * 256L * r))
hranice = CLng((2 ^ 32 / 2) - 1)

If CATBarva > hranice Then
CATBarva = CATBarva - CLng(256 ^ 4)
End If
dt.TextProperties.Color = CInt(CATBarva)
Ing Jan Cinert

Poslat zprávu | Profil
[#5965] | Publikováno: 13.09. 2016 - 13:37
Dobrý den,

díky za příspěvek. Já barvy vždycky řešil přes VisProperties.Set(Get)RealColor. U textů to funguje také, tak tohle nebylo zapotřebí. Každopádně se to může hodit.


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.