Hi, I am modeling a rock slope in 3dec using the topography of the site. When I define Hybrid bolts from geometry (lines), I get the following error, (dowel element storage structures) and while running I get an error that bolts do not have Young’s Mod. or cross-sectional area. I see that start point of the bolts are above the topography and I do not manage to impose the start elevation of the bolts to be exactly on the topography (even though I also get the intersection of the bolts with my topography in a third party software and modify my lines such that they are on the topography. I used even a very short segment length (0.1 m and my bolts are 20 m long). Do you do something wrong? Any idea how to fix this?
Without seeing your model, it’s not possible to comment on why the bolts may be generating above your model topography even though you have verified that their positions are correct in third party software (presumably the software in which you’ve generated your geometry).
However, I have previously used a simple FISH function to isolate, group and then delete cable segments that are no longer linked in the model, for example, when modelling an excavation breakthrough where the excavation is deleted and the cables that were being used as temporary support then also need deleting.
If it is just the ends of your bolts with very short segments that need deleting as they are not linking in your model correctly, then you might be able to make minor adaptations to the below script and use it for your hybrid bolts to identify and delete the troublesome segments.
Good luck!
;---------------------------------------------------------------------------
; Delete bolt segments that dont intersect properly with the geometry
;---------------------------------------------------------------------------
def null_bolt_elems
loop foreach local pnt struct.list()
L_pnt1 = struct.node.link(struct.node(pnt,1))
L_pnt2 = struct.node.link(struct.node(pnt,2))
if L_pnt1 = null
to_del = struct.id.component(pnt)
command
struct cable group 'bolt_issue' range component-id [to_del]
endcommand
endif
if L_pnt2 = null
to_del = struct.id.component(pnt)
command
struct cable group 'bolt_issue' range component-id [to_del]
endcommand
endif
endloop
command
struct cable delete range group 'bolt_issue'
endcommand
end
[null_bolt_elems]
Please send your data file to 3decsupport@oneitasca.com if you want us to look at it.
