3D model and length/thickness issue

Hi,

I receive 3D model from a truss supplier that looks like the screenshot attached. My issue is that each part is a polyline for which the length of the member is the thickness of the polyline.

Is there a way to convert it so that I have a line/polyline that is simply the length of the member? Or rebuild a different model ?Like this I could import the 3D model in Staad Pro and save a lot of time!

Thanks!

Comments

  • Man that is weird

  • Fantastic. This 3D model was created by a true dark genius. Ha-ha.
    I once encountered such projects and added a function to the AVC MeshToSolid ( https://sites.google.com/site/avcplugins/meshtosolid ) command to convert polylines with thickness to solids. But even this function won't work in your case simply because the polyline isn't closed, and you won't get a closed volume.

    Theoretically, you could try converting these polylines to surfaces. Then you could try using BricsCAD Mechanical to use these surfaces as sheet metal.

    If you have a lot of such drawings and need automation, I could further develop the MeshToSolid plugin to convert polylines to surfaces. Write to me if you are interested and ready to pay for the revision.


    Basically, you could create a simple script that would simply draw a line from the starting point of each polyline in the direction of the polyline's normal and with a length equal to the Thickness property. It's literally three lines of code.

  • @avc_programming

    I like the idea of making a polyline with a length equal to thickness. It may create few inconsistencies where all members join, but it may work good.

  • The issue is to get the thickness direction as suggested. Once that is known can draw a single pline based on 2 pts of XYZ. Had a quick play, in image made a shape gave it a thickness so was thickness in Z direction. The second was same pline but rotated 30 around Y axis.

    Ok now maybe the easy part, the true vertical the dxf code 210 = (210 0.0 0.0 1.0), the rotated 30 gives = (210 0.5 0.0 0.866025403784439) so the 210 dxf is a XYZ direction. take say 1st point in pline then workout a new 3d point as 2nd point, then draw a line or pline based on thickness.

    Never done stuff with 210 so will investigate, some one else may have something for the point in world XYZ and angles.

    Ok throw all that away,

    UCS OBJ pick pline

    LINE 0,0,0 0,0,thickness Enter

    Do again

    I have not coded anything but need you provide a sample dwg with 20 objects at most for testing. Make sure my idea is correct.

  • Looks like the Profile Curve is closed (?)

    Does none of Convert to Solid or Solidify work ?
    Or do you only want 3D Lines from the length of the "Extrusion"

    I am not really sure what your expected outcome should be.


    Or what the source file was. Exported as a DWG ?
    Could it also be exported as an IFC ?

    Could you copy a handful of these parts into a blank file and attach it here ?

  • As others have stated, a sample drawing would be useful to understand what you're dealing with. Based on the OP screengrab it looks like the members are created from a closed 2D Polyline (to describe the profile) with thickness assigned to define the member length.

    Assuming this is the case, then the attached LISP will convert these type of polylines to 3D solids. Essentially converts the drawing to a 3D solid model.

    Whether this is something that an application like Staad Pro can work with, I don't know. Again you would need to provide more detail or an example of your typical output to it.

    If you have BricsCAD BIM, then perhaps try using BIMIFY to convert the 3D Solids to a BIM model, then use BIMANALYTICALMODEL to in turn create an analytical model that you can export to use in your structural app.

    Jason Bourhill

    CAD Concepts Ltd

    cadconcepts.co.nz

  • I tried putting the following query in to the new BricsCAD AI Assistant.
    Convert a polyline profile with thickness to a 3d solid.

    and got the following response:

    You can convert a closed polyline with non-zero thickness and uniform width into a 3D solid using the CONVTOSOLID command. This command is available in all BricsCAD versions.

    To use this command:

    • Type CONVTOSOLID in the command line and press Enter.
    • Select the polyline you want to convert.
    • Press Enter to complete the command.

    Alternatively, you can use the EXTRUDE command on a closed 2D polyline (with zero thickness) to create a 3D solid by specifying an extrusion height. This command is available in BricsCAD Pro and higher.

    ******************************************************************

    Clearly should of checked this first! CONVTOSOLID gives the same results as the LISP I posted previously. If you prefer a mesh entity, then you can use CONVTOMESH instead, and if your polyline isn't a closed profile, then you can use CONVTOSURFACE.

    Jason Bourhill

    CAD Concepts Ltd

    cadconcepts.co.nz

  • Just for your information: after researching this topic, I modified the AVC MeshToSolid plugin. Now it converts all curves into solids if the Thickness and Global Width are specified. If the Width is zero and the polyline is not closed, it creates surfaces. This means that when the plugin version is published, you'll be able to use a single command to convert any object into a fully functional solid model. I hope this will be more convenient than using several different commands and scripts.

  • Still waiting for Manu25 for a sample dwg. In 1st post question was "get length", so if converted to a solid how do you get length ? Not sure can use massprop to get the length it appears to not return a height based on a rotated solid object, simple to check.

    Vertical

    Lower Bound: X= 0.29 Y= -7.283 Z= 0
    Upper Bound: X= 7.157 Y= -0.416 Z= 50

    Rotated

    Lower Bound: X= 0.75 Y= -7.283 Z= -1.717
    Upper Bound: X= 31.697 Y= -0.416 Z= 45.018

    A question to Manu25 why get length ? Truss manufacturer takes care of that.