separating parts using TCL/TK
Hi,
I have a component which is made into a single solid component but originally it has few separate parts.
can I separate it using any scripts in tcl/tk to see the parts separately?
I need to do this to see the parts dimensions individually.
Let me know , if it is possible.
Regards,
Aravind
Answers
-
i would start doing this operation manually in the GUI, and then after 2 or 3 times, check the command.tcl and get from there the commands necessary and adapt them to your script.
Probably you would:
- create a new component
- select one solid
- organize this solid into the new component
- loop over and over again until your solids are all organized.
In the past I did something similar, but for surfs, as you find below.
This script splits surfaces in a single component, into several different components, one for each surf.
Maybe you could adapt this one,.
*clearmark comps 1
*clearmark properties 1
*clearmark materials 1#selecting surfaces for which the components and properties will be created
*createmarkpanel surfs 1 "Select the surfaces to generate properties for:"
set surfslist [hm_getmark surfs 1]
*clearmark surfs 1
hm_blockerrormessages 1
hm_blockmessages 1
*entityhighlighting 0
#hwbrowsermanager view flush false#get altair home directory
set home_dir [hm_info -appinfo ALTAIR_HOME]#create a dummy material, in case there is no existent material
*collectorcreateonly materials "^dummy" "" 5
*createmark materials 1 "^dummy"
*dictionaryload materials 1 "${home_dir}/templates/feoutput/optistruct/optistruct" "MAT1"
*initializeattributes materials "^dummy"
*clearmark materials 1#selecting default material
*createmarkpanel material 1 "Define the default material (To be applied to all selected properties)"
set material_name [hm_getentityvalue material [hm_getmark material 1] name 1]#if SHELL
#defining base shell thicknesses
set shell_thick [hm_getfloat "Shell Thicknesses" "Define SHELL initial thicknesses (REAL>0)"]set count 1
*entityhighlighting 0
foreach surf $surfslist {
#creating new comp
set comp_name "COMP_$count"
*collectorcreateonly components $comp_name "" 5*createmark surfaces 1 $surf
*movemark surfaces 1 $comp_name
#creating and assigning properties
*collectorcreateonly properties $comp_name "" 5
*createmark properties 1 $comp_name
*dictionaryload properties 1 "${home_dir}/templates/feoutput/optistruct/optistruct" "PSHELL"
*initializeattributes properties $comp_name
*materialupdate properties 1 $material_name
*createmark properties 1 $comp_name
set prop_id [hm_getmark properties 1]
*attributeupdatedouble properties $prop_id 95 1 1 0 $shell_thick
*createmark components 1 $comp_name
*propertyupdate components 1 $comp_name
incr count}
*entityhighlighting 1
*createmark comps 1 "all"
*autocolorwithmark comps 1*createmark properties 1 "all"
*autocolorwithmark properties 1*clearmark comps 1
*clearmark properties 1
*clearmark materials 1hm_blockmessages 0
hm_blockerrormessages 0
*entityhighlighting 1
#hwbrowsermanager view flush truetk_messageBox -message "Property creation and assignment completed!"
0