Creation of lattice members
Hi,
I am attempting to create lattice members using a 3D geometry, I have come across a paper (see attached, pages 3 and 4) that uses the mesh to create derivative bars and nodes, I'm wondering if anyone knows how this could be achieved within Hypermesh and would be willing to talk me through the process.
Kind Regards,
Laurence
Find more posts tagged with
With 2d mesh it is trivial, so I will guide you with 3d mesh:
For boundary bars:
- use panel tools>edges, switch 'find' to 'T-connection', you will get inner bars
- use panel tools>faces to create face elems
- use panel tools>features with angle 0deg to create bars on face elems
For derived bars: run this proc will output them to a file named temp.fem
Then you can import it as optistruct input deck.
proc p_DerivedBars args {
*createmarkpanel elems 1 'Select 3d elems'
set buff1 ''
set buff2 ''
set i 0; set j 0
foreach NodeList [hm_getvalue elems mark=1 dataname=nodes] cx [hm_getvalue elems mark=1 dataname=centerx] cy [hm_getvalue elems mark=1 dataname=centery] cz [hm_getvalue elems mark=1 dataname=centerz] {
append buff1 'GRID,[incr i],,$cx,$cy,$cz\n'
foreach NodeId $NodeList {
append buff2 'PLOTEL,[incr j],$i,$NodeId\n'
}
}
set fpt [open temp.fem w]
puts $fpt $buff1
puts $fpt $buff2
close $fpt
}
Hi Tinh,
I apologise, I made a mistake with writing the script. I'm English so I wrote 'centre' instead of 'center'. I now have the script running but I have hit another issue, when I build up a model and run it I get a message saying the following:
'GRID 1 9.91212213.45212-16.6676'
*** ERROR # 1020 *** in the input data:
Missing BEGIN BULK or line before BEGIN BULK has trailing comma.
I have attached the .out file, my and fem file for your review. I had a look at the .out file and there are indeed many decimal places in the grid, why would this be happening and how can I repair this issue?
Laurence
Hi Tinh,
When I run the script, I get an output, but it is not what I desire. I require the lines to be connected to a central node in each quad element. This script produces many lines that are randomly connected to nodes all over the geometry, how can I alter the script so that the body centred cubic is created for each quad element?
Thanks,
Laurence
P.S. I have attached the input and output files for your reference.
Hi Tinh,
I made the change as you suggested but now nodes are not being found in the model (see attached). So the entities are being skipped.
Kind Regards,
Laurence
Hi Tinh,
I made the change you suggested. I've attached two screenshots. 1 is the output from the script when i is set to [hm_entitymaxid nodes] and 2 when i is set to 0.
It seems that the script is successfully creating lines with nodes, but they are not bonded to a central node.
Kind Regards,
Laurence
It looks easy, need a loop through each elem and bind its centroid to nodes by 1d beams.
It's very slow if create them directly for big model, we can write it to a deck and let hm input reader creates them.
I will check if split panel could help, with full hexas i think ok.