Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
I have an assembly that I've created a section view of, and I'd like to export a file (preferably something like a CSV) that contains a list of the XYZ coordinates of the section.
Ideally, I'm trying to just get the coordinates of the section plane's intersection with the top surface of the model, as if I was tracing a laser measurement tool along a line over the top surface. How would I accomplish this?
I'm using Creo 4.0.
Solved! Go to Solution.
Thanks for the suggestions!
I ended up exporting the model as an IGES file and importing it into another CAD tool (gasp, I know) that I was more familiar with. I was able to then section it and create a DXF from that section in a very straightforward manner (like 2 simple steps).
Perhaps there's a nice and simple way to do this within CREO, but I was having a hard time finding a way to do this without having to create curve from the section, create a separate drawing, add the curve to the drawing, and export the drawing as a DXF. For all of the (many) shortcomings of FreeCAD, this use case at least was very easy. I'd love to see that feature in CREO, or even better, be pointed to where it was all along.
For those who are interested in then being able to do things with the point information in the DXF, I used the ezdxf Python package.
The closest things I can think of is:
1. Curve from section. My suggestion meets none of your requested criteria, export...no, xyz coordinates...no.
It does "trace" the intersection of the section plane and the part.
2. X-section mass properties, but again doesn't meet any of your requested criteria but give you the moments of inertia and cg (along with other info) of the x-section.
The thought of "coordinates of a section plane" is difficult in my imagination. Properties of the section plane is easier for me to grasp. Maybe my thoughts are helpful?!???!
Out of the box, without additional extensions such as BMX, I'm thinking you can get your list of XYZ coordinates in this way:
1) Create the curve of interest. It can be constructed in numerous ways, but sounds like you could simply sketch it by projecting the surface in question onto the sketch plane. Or you can use the curve from section tool:
2) Create a pattern of datum points distributed on this curve.
3) Create a coordinate system
4) Create a view which is aligned to the coordinate system such that its Z axis points "up"
5) Create a drawing
6) Insert a general view, orient it as per (4)
7) Insert a hole table; use datum points not holes as the things being listed in it, and use the coordinate system from (3)
😎 Save the table as a csv file
Note the table might need sorting! Also, it gets quite slow if your "hole" table has lot of rows.
There is probably easier way of doing this. What about saving as DXF and extracting the "POINT" information?
I used pausob's method to get cam profile data from a customer step file of a camshaft lobe in CREO. Analysis was given the step file and did not know how get the data from the step file into their 1D sim software. I had to do the sorting step for sure.
Another handy thing to know is if you import the data back into 'offset coordinate system' the data can be changed to cylindrical/cartesian/spherical with a drop down menu and then saved again. with that feature I had cartesian and cylindrical data sets to hand over.
Now to try the iges streamlining I see from tbraxton.
You can use IGES export functionality to streamline this process . It will work in part and assembly mode. Without some use of programming and one of the APIs this is the most efficient method I can think of.
Model Prep:
1) Create the curve of interest in the model
2) Create datum points along the curve from step 1 (pattern the points along the curve at the density needed)
3) Hide all other datum points (other than those on the curve) in the model to exclude them from the export
Import/Export
1) Create an IGES file containing only the point data of interest
a) In the export dialogue ensure that only "Datum Curves and Points" is active
b) Select a reference CSYS from your model used to generate the coordinates
c) Save the IGES file
2) Modify this new IGES file extension by changing it from .igs to .pts file extension
3) Import this new .pts file into a new Creo model as follows
a) Create a datum point feature using the offset csys option
b) Select the reference Csys and import the .pts file from step 2, you will then see the table populated with the coordinate values
4) Export this point feature as .pts file format
The .pts file is formatted as shown here:
!
! DATUM POINT ARRAY DATA FILE
!
! Comment lines should begin with an exclamation mark (!).
! You may have as many comment lines as you wish.
! There must be at least one space between values.
!
! Enter values with respect to datum arrays' coordinate system:
!
!CARTESIAN coordinates:
! X Y Z
!
1.000 2.000 3.000
2.000 3.000 4.000
Thanks for the suggestions!
I ended up exporting the model as an IGES file and importing it into another CAD tool (gasp, I know) that I was more familiar with. I was able to then section it and create a DXF from that section in a very straightforward manner (like 2 simple steps).
Perhaps there's a nice and simple way to do this within CREO, but I was having a hard time finding a way to do this without having to create curve from the section, create a separate drawing, add the curve to the drawing, and export the drawing as a DXF. For all of the (many) shortcomings of FreeCAD, this use case at least was very easy. I'd love to see that feature in CREO, or even better, be pointed to where it was all along.
For those who are interested in then being able to do things with the point information in the DXF, I used the ezdxf Python package.