V25 problem with nested parametric Blocks 2D/3D
Hi,
I wanted to raise a problem I've already had for some time. Generally at work due to assembly requirements, I was previously working with dynamic blocks (Acad) and have now been working with Bricscad parametric blocks for some time.
In general, I mainly work with 3D blocks based on a solution which ACAD somewhat enforces, i.e. I create nested blocks which contain both the wireframe of an object in the form of 2D lines and 3D models, then in a separate block I combine this with 2D constraints and it mostly works. Of course the solution has advantages and disadvantages but it allows me to cast the wireframes of the object into simple FEM analyses based on the direct stiffnes method.
I was very pleased with the reference parameter function in V25 in general, so I started testing it yesterday and namely encountered a total of two problems, which some I had in a way already before.
The first is a problem with the parameters of a block which is nested. In short, the parametric block only updates correctly once on first use. The next time the parameters are changed, the nested block refreshes correctly for the 2D element (line, polyline, etc.) and with a step of n-1 for the 3D element (bar), and the only way to update the 3D element to the correct geometry is to change another parameter related to the 3D element.
A simple example is attached in the appendices. There is a block (BlockWithNestedElement) which is a triangle with two parameters, height and base length, the third being a reference parameter. The reference parameter is passed to a block (BlockToBeNested), which is a straight line with variable length and a 3D bar which has two parameters length and radius. The reference parameter in the file should change the length of the 3D element, while the 2D bindings set it to match the length of the triangle associated with the reference parameter. In the (DrawingWithNestedElement) file I have insert Block (BlockWithNestedElement) when changing the geometry it will only work once. In the next step the length passed to the 3D element will always be by step n-1, unless I change the radius of the bar, then it will update normally giving what it should be.
So that is the first problem that i have. Second is i guess some childhood illness, because adding reference paramiter give me automatically 5 errors to be fixed when im using audit command.
Thank you for any advice.
Comments
-
Hello.
I am not sure I correctly understood the workflow.
Lref seems to be required to have the value of the hypotenuse length in the right triangle.
Once a formula is set to the expression of Lref, this parameter adjusts accordingly.
Consequently, the length of the cylinder is adjusted the same.0 -
Thanks for the reply but i have been there done that:) what i have shown is such a simple example. I do ocl cantilever on a daily basis and they have a lot of ropes with variable geometry and it's not so easy for such cases to derive simple geometric formulas, so that's why without fooling anyone I will say that I was very much waiting for reference parameters for 2D constraints.
0 -
Hello.
Although it might require some work, using formulas is the safest way of working.
An alternative would be to experiment with a geometry-driven distance constraint.
However, the geometry-driven feature is available only with 3D parametrizing.
So, to be able to use it, some extra entities might be needed.With this case, the entities could be two block references containing a single point.
These blocks should be constrained in the corners of the right triangle.
They will be used to calculate the length of the hypotenuse.This length should be passed to a parameter, L_ref.
Finally, the cylinder length could be set to L_ref.1 -
Hi,
Thanks for this example. I haven't tried anything like this before. I'll try to play with more difficult examples next week and let you know if I managed to solve my problem :)0