They are very similar I think for a lot of things. I don't know teamcenter enough to tell you what could be the differences. However something I'm sure of : if you can have a PLM from the same company as the CAD system, it's better (true for Catia or Solidworks + 3DX or Teamcenter + NX or Solid...
Hi, the main difference between Catia V5 and Catia 3D Experience is the fact that V5 is offline (you work on your local files) and 3DX is connected so everything you do is stored on the cloud. The search is then easier (if you fulfill the attributes of course) and you can still organise your...
Hi, I was able to use the Trace function successfully ! Thanks again.
Now I have another problem because on my computer the trace file create has a weird name (it uses GMT time even though my laptop is set to eastern american time) but I found a workaround by declaring a user file for the...
Thanks, I'll check the Trace function. If I can make it work that would be so helpful.
Thanks also for your last remark/advice about user interaction ;)
Here are the sample more than simple macros to test (with the part).https://files.engineering.com/getfile.aspx?folder=20b56244-bfe8-409e-9448-2bd0a707371c&file=TestParts.zip
I guess it depends on the conditions of the law and some settings. I join a part and a screenshot of my settings. If I open this part, the law is evaluated and therefore the according macro is launched. The macros should be in D: but you can change the path in the law if you want...
No I didn't find any solution to avoid evaluate the law when the part opens (it's always evaluated because of the conditions I have inside and I can't change those conditions). I tried the search through each body to find the potential linked element. I still have an error somewhere but the good...
...is main body in french, Longueur.1 is my length formal parameter, MACRO_Path is a string parameter that I created in the parameters of the part).
/*Loi créé(e) par aguitton 2020-01-14*/
let oBody(feature)
let str1(string)
let str2(string)
let str3(string)
let str4(string)
let i(integer)
set...
Hi all, I have this weird question because I created a law in my part that launches a CATscript macro. This law is automatically evaluated when the parts opens (during its opening).
By the way this is exactly what appvid was trying to do in this topic : thread560-364824 (I can explain that in...
...= TheInertiasList.Add(body1)
Dim Matrix(8)
NewInertia.GetInertiaMatrix Matrix
Dim bodyArea
bodyArea = objMeasurable.Area
bodyArea = bodyArea * 1550
Dim bodyArea2 As Integer
bodyArea2 = bodyArea / 2
Dim objCOG(2)
objMeasurable.GetCOG objCOG
End Sub
I read again and again and compared...
By the way I found what I need in a law (not a formula) using a basic useless law with two formal parameters (because it's needed in a law) and then I was able to use other tricks to launch my macro with LaunchMacroFromFile.
I need a law because I must be able to update some properties if the body or material changes and I can't use a knowledgeware rule.
So as it didn't work with the spaces and accents, I decided to rename the main body and the Material parameter to avoid using "`" (even though I'm still getting...
That's what I thought, thanks.
I have another question about laws and writing it through a macro. You may have understood that I'm french and mostly working with french version of Catia. So the parameter names and other stuff are localized but they contain some special characters like the space...
OK, I can still be interested in the solution to create a formal parameter of type VOLUME because it could be useful to other people but I found my solution. I tried simply to add my smartVolume function inside the law and it works. In my case I have to launch a CATscript so here's the law :
if...
Thanks for the code then, and for the answer.
So it's basically what I'm doing (to guess stuff) but you're more experienced than I so you probably can figure out stuff faster :D I also find the knowledgeware browser not very friendly but I can use it when needed (I just think it would be more...
Wow, thanks a lot.
That's probably what I didn't know about the framegeneral.CATsettings : ' read 30th byte after UserInterfaceLanguage that stores language
However I'm not sure I would have found the way to do that even knowing this thing.
The other Sub/Function to get the local specific...
...Exit Function
End If
Set paramTemp = oDocProd.UserRefProperties.CreateString("MacroTemp", "-")
sParamName = paramTemp.Name
If sParamName Like "*Properties*" Then
CatiaLanguage2 = "EN"
ElseIf sParamName Like "*Propriétés*" Then
CatiaLanguage2 = "FR"
ElseIf sParamName Like...
Small update here but I'm not more advanced. I though it was because I didn't created a variable for the formula neither the keyword "Set" and maybe even the wrong characters to embed the Matériau text but not. So here's my latest iteration which still doesn't work :
Sub CreateFormula(oParam As...