Aerospace Fastener creation has invalid (colinear) orientation vector
Hi,
after creating rivet connections (RBE3-CBUSH-RBE3) via Aerospace -> Connections -> Fastener Setup, I encountered the following error in the solver run:
*** ERROR # 41 ***
CBUSH 1100028 has an invalid orientation vector (zero length
or parallel to the element axis).
Checking the orientation of the faulty CBUSH elements shows the y and z directions are colinear, as seen below (green y vector covers the z vector). This issue only happens for the elements with an x axis identical to the global coordinate system.
the post script for generating the properties can be found here:
...Altair/2022.1/hwdesktop/hm/scripts/EngineeringSolutions/aerospace/rivetConnection/postscript.tcl
My guess would be that the orientation for the elements in question is defined in the follwing code (from line 262 in the file), but I was not able to generate the correct directions while playing around with it.
if { $orientVector == [list 0.0 0.0 0.0] || $orientVector == [list 0 0 0] } { # Get the vector for the CBUSH element set vecG12 [getVector2NodesId $G1 $G2] # Check if given CBUSH is parallel to global X-axis set globalX [list 1 0 0] set angle 0 catch { set angle [::math::linearalgebra::angle $globalX $vecG12 ] } # Converting to degrees set pi [ expr {atan(1) * 4} ] set angle [expr {$angle * 180 / $pi}] if { $angle < 15 || $angle > 165 } { set orientVector [list 0 1 0] if { $vectY == 0 } { *clearmark nodes 1 *createmark nodes 1 $G1 *vectorcreate 1 0 1 0 0 *clearmark nodes 1 *createmark vectors 1 -1 set vectY [hm_getmark vectors 1] *clearmark vectors 1 } *setvalue elems id=$ent_id vectorid=$vectY if { $cfgValue == $bar_config } { dict set ::rcPostScript::conBarVectDict $curr_ce_id $orientVector } *attributeupdateint elements $ent_id 3240 1 2 0 1 *attributeupdatedouble elements $ent_id 9402 1 1 0 0 *attributeupdatedouble elements $ent_id 9403 1 1 0 1 *attributeupdatedouble elements $ent_id 9404 1 1 0 0 *attributeupdateint elements $ent_id 882 1 2 0 0 } else { set orientVector [list 1 0 0] if { $vectX == 0 } { *clearmark nodes 1 *createmark nodes 1 $G1 *vectorcreate 1 1 0 0 0 *clearmark nodes 1 *createmark vectors 1 -1 set vectX [hm_getmark vectors 1] *clearmark vectors 1 } if { $cfgValue == $bar_config } { dict set ::rcPostScript::conBarVectDict $curr_ce_id $orientVector } *setvalue elems id=$ent_id vectorid=$vectX *attributeupdateint elements $ent_id 3240 1 2 0 1 *attributeupdatedouble elements $ent_id 9402 1 1 0 1 *attributeupdatedouble elements $ent_id 9403 1 1 0 0 *attributeupdatedouble elements $ent_id 9404 1 1 0 0 *attributeupdateint elements $ent_id 882 1 2 0 0 } } else { set G1 [hm_getvalue elems id=$ent_id dataname=node1] if { $vectX == 0 } { *clearmark nodes 1 *createmark nodes 1 $G1 *vectorcreate 1 [lindex $orientVector 0] [lindex $orientVector 1] [lindex $orientVector 2] 0 *clearmark nodes 1 *clearmark vectors 1 *createmark vectors 1 -1 set vectX [hm_getmark vectors 1] *clearmark vectors 1 } *setvalue elems id=$ent_id vectorid=$vectX *attributeupdateint elements $ent_id 3240 1 2 0 1 *attributeupdatedouble elements $ent_id 9402 1 1 0 [lindex $orientVector 0] *attributeupdatedouble elements $ent_id 9403 1 1 0 [lindex $orientVector 1] *attributeupdatedouble elements $ent_id 9404 1 1 0 [lindex $orientVector 2] *attributeupdateint elements $ent_id 882 1 2 0 0 lset orientVector 0 [format %.2f [lindex $orientVector 0]] lset orientVector 1 [format %.2f [lindex $orientVector 1]] lset orientVector 2 [format %.2f [lindex $orientVector 2]] }
In the attachment is a section of the model for reference
Any help is appreciated, thanks!
Answers
-
Hello,
I don't believe I see the same issue in 2022.3
0