I have 3d models (stl-files) of irregular cylinder-like objects that I would like to measure at set intervals along the long axis. The result should be a distribution of diameters (or of the lengths of the long and short axes of the elliptical cross-section). Is there a way to do this using built-in functions of one of the standard pieces of 3d software (Geomagic, Meshlab, Solidworks)?
Calculate diameter distributions from irregular 3d cylinder
374 views Asked by Dmitri Ponomarenko At
1
There are 1 answers
Related Questions in GEOMETRY
- WorldToScreen function
- Intersection of Cartesian Box and Polygon in 3D
- find point in inside polygon ..with mysql
- How do I find the line segments formed by the meeting of two sides of two polygons?
- How to create a pareto distribution prediction function?
- How to estimate the memory size of a binary voxelized geometry?
- Spacing out overlapping rectangles: how to translate pseudocode?
- Sympy manipulation of wedge products
- how to create a sector and check if some point is in it's area?
- Get third control point quadratic Bezier curve for parabola with given fucus and directrix, Lua
- CGSRegionRef: How is an arbitrary region represented as union of rects?
- Distribution of n number of equi-distant point in polygon
- Selecting suitable triangles to intersect with a line
- How to distribute n number of points into a svg polygon javascript
- How to offset a shaply polygon without chnaging corner shape
Related Questions in COMPUTATIONAL-GEOMETRY
- Sweep shape along 3D path in Python
- 'plotAtlas' function in Morpho package
- Encounter problem at different speed/start point algorithm design
- Selecting suitable triangles to intersect with a line
- Merging Geodataframe Polygons to Meet Population Threshold in Python
- Rotating a 3D body in python results in holes in the body
- SageMath: Create a triangle with specific angles in Hyperbolic space, eg., Upper Halfspace Plane
- reducing a massive tetrahedron mesh using gmsh or other way
- Implementing Jarvis Binary Search in Chan's algorithm
- How to find centroid snapped to grid via Shapely?
- Find the largest rectangle that doesn't intersect any given polygon
- Generate P random N-dimensional points from list of ALL possible pairwise distances
- Fast way to find closest line segment for a large set of planar points [Python]
- how to check if all the faces face outward
- Counting the number of polygons containing origin in 2D
Related Questions in SOLIDWORKS
- Circular profiles on the hallow sphere in Autodesk Inventor
- How can I activate a model window if it is already open? Solidworks VBA
- Solidworks dwg with bendlines, how do i merge these two codes?
- Problem saving Solidworks files inside PDM vault using macro
- Issue displaying PMI annotations in Autodesk Viewer for assembly files
- Trying to split object with a dovetail connector and stopper
- Recommendation for proper way to export URDF from the CAD model
- SolidWorks VBA Macro : Select all holes
- VBScript - Type Mismatch Error when trying to use a Sub that passes variable by reference (Writing an HTA to work with SolidWorks)
- VBA: strange error with ParentWindow.ClipboardData.SetData
- How to cut sphere in SOLIDWORKS 2019 in C# api
- GetWindowRect function is returning zeros for Solidworks Applications
- How to select bottom plane in C# Solidworks API?
- How to edit Variable Fillet with SolidWorks API
- Open an Excel Workbook Using SolidWorks API in VBA
Related Questions in MESHLAB
- How to close hole at the bottom part of the model? Any specific way?
- What 3D API does MeshLab use?
- PyMeshLab Saving Exception
- Determing accurate direction and distance of models in meshlab
- Can I move a vertex in MeshLab?
- perform **batch** coverting gltf to textured obj format with texture map
- How "export mesh as" with updated texture file from MeshLab?
- surface of mesh cannot be seen from outside, only from inside
- How are molecules colored in common molecular visualization software?
- Forming Watertight mesh
- Updating a mesh in meshlab live, from command line
- CGAL: How can I see vertex colors in Meshlab?
- CloudCompare computed Normals are not aligned in the mesh
- Meshlab Deviation analysis not colored?
- How to find the geometrical information of selected area?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Here's Solidworks API approach that I would take :
1 Collect all the edges of your body, convert them to vectors. If it's a curve just take endPoint - startPoint. IPartDoc::GetBodies2 IBody2::GetEdges
2 Using those vectors as potential axes figure out the smallest box that your body fits into using IBody2::GetExtemePoint.
3 Largest dimension of the box will be your long axis.
**If you know orientation of your body beforehand (ie top of the cylinder always looks towards x/-x) you can skip first three steps
4 Take 4 faces of the box that you found that are parallel to the longest dimension. For example if your box is x,y,z axes and x is the longest you must take 2 faces parallel to xy plane and 2 faces parallel to xz plane.
5 For each of those 4 faces generate a grid of points that will evenly cover the face, number of points depends on the accuracy of the result that you want, I'd suggest to start with 100 points per face.
6 Shoot rays from those points though the body with IModelDoc2::RayIntersections.
7 Disregard rays that don't intersect the body, those that do will give you 2 points - an entry and an exit, calculating the distance between them will give you your diameter.
8 Because your rays will be intersecting cylinder across the surface not only in the thickest part use only biggest diameter per row of grid points.
This is the most generic approach that would work for any 'irregular cylinder-like object' given that height of the cylinder is bigger than its diameter.
Let me know if you need clarification on any of the steps, I can draw some sketches.