cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

Automating point creation

edi
6-Contributor
6-Contributor

Automating point creation

Hi everyone,

Does anybody know how to automate point creation? Lets say I want to create a  curve through 50 points and then from the coordinates of these 50 points I want to define some simple relations to create 50 new points.  Also, I need to be able to modify the coordinates of the initial 50 points  and regenerate the model.  I used a .pts file to import the points. But, when I modify the points and regenerate nothing happens, not to mention that I don't know how to define relations between coordinates of points. Any help will be appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
edi
6-Contributor
6-Contributor
(To:dschenken)

Actually I made a little mistake. I was re-importing the points which lead to regeneration failure. I used the update bottom and modified the coordinated in the notepad tha poped up and regeneration was successful.

Thanks  for all your efforts and suggestions. I can move on to the guide vanes now.

View solution in original post

33 REPLIES 33
dschenken
21-Topaz I
(To:edi)

You could pattern a point and use a table to drive the locations and then create new points relative to the first pattern.

 

Since you don't say how you tried to modify the points I can't say why it didn't seem to change.

 

You can't create relations between points; you can create relations that change values for coordinates of points using values of coordinates of other points. Since you didn't specify what you want the relations to do I can't say what would help.

edi
6-Contributor
6-Contributor
(To:dschenken)

Thanks for your response. I imported the points using a .pts file and then I changed the coordinates of some points in that .pts file and tried to regenerate the model, which didn't happen. The relation between the points should be:

User specifies the coordinates of 50 points (xi and yi).

xi for i = 0,...,49

yi for i = 0,...,49

The coordinates of the second and third set of points should be:

xj = xi

yj = yi + constant/2

 

xk = xi

yk = yi - constant/2

KenFarley
21-Topaz I
(To:edi)

Once you read a ".pts" file to use the points, you're done with the file. There is no connection between the file and the Creo model. The file just provided the initial values for the points and is never referred to again. You could delete the file and it wouldn't affect your model at all. It's just input. You'd have to redefine the points within Creo, if that's possible.

edi
6-Contributor
6-Contributor
(To:KenFarley)

yes that is true. I realized that when I import the points and once they are in the model tree if I edit the coordinates they actually update. I just need to figure out how to create other points from them. I'm working on pattern without any luck so far.

psobejko
12-Amethyst
(To:edi)

It seems that you are simply shifting the copies - in your equations, the shift is in the y direction according to some constant value.

 

So maybe you could just select the points feature (I assume you used the feature point -> from offset coordinate system) and do a copy (CTRL+C) then paste special -> Check Apply move/rotate transformations to copies and then specify the y axis of the coordiate system as the translation direction...  After the feature is built, you could add the relation to it...

edi
6-Contributor
6-Contributor
(To:psobejko)

I did that with the pattern along a direction and it worked. I simplified the relations in my earlier post. The constant in those equation is not the same for all the points, rather it is 50 different values!

psobejko
12-Amethyst
(To:edi)

Curious; how did you determine what these 50 constants are?

 

I don't know the problem you are trying to solve, but here are some thougths:

1)  you seem to have been trying to edit the points by modifying the values in the .pts file used to create them.  As you discovered, that does not work because there is nothing linking the .pts file to the model.  However, it still might be easier to edit the .pts file externally (e.g. using notepad++ or excel), save it, then edit the definition of the point feature, delete the previously imported points from the table and then "import" the updated .pts data.

 

2) To generate the 2nd curve, generate a copy of the imported points to produce an identical set of points as in step 1.  Then edit the relations of this 2nd point feature - and here you have to do the grunt work of writing a relation that describes the x,y,z coordinates of each point in terms of the the x,y,z coordinates of the corresponding point in the 1st point feature.  To assist in this, I suggest you right-click on the points features and use the information->feature information tool and look at the last table in the information page - it will show you what dxxx symbols the system assigned to the coordinates.  Also, I think you will have to use the $ in your relations (i.e, they wll be of the form $d0 = $d150 + const/2) so as to keep track of the sign.

 

3) to generate the 3rd curve, copy + paste the points+curve from the 2nd step and edit its relations.

 

Yes, in total you'll end up with 300 lines of relations, but with copy and paste it shouldn't be that tedious...

edi
6-Contributor
6-Contributor
(To:psobejko)

I'm trying to model a diffuser. The initial 50 points are basically the trajectory of the mean-line of the diffuser. The second and third set of 50 points are trajectories of the inner and outer casing of the diffuser. I'm trying to control the diffusion rate of the flow path (or thickness of the flow path) at 50 different locations. This is done by defining 50 different thicknesses  at these 50 locations. The model should be parametric because I have other features to add to the diffuser like blade rows. I have attached a figure of the model which is created with constant thickness at the 50 locations.

psobejko
12-Amethyst
(To:edi)

Sounds like you could be using a variable section sweep driven by a graph.  The graph would allow you to define the thickness of the diffuser section along the trajectory.  Here's an example:

example_vss.png

Creo 3.0 files attached for examination of the modeling technique.

 

 

edi
6-Contributor
6-Contributor
(To:psobejko)

I looked at the method.This doesn't gonna work for me as I don't have an equation for the graphs. If I use this method I still need to create points to define the graph which will take me to the first place. But If I could somehow create some relations between the points, I just change the coordinates and everything will change accordingly.

 

 

psobejko
12-Amethyst
(To:edi)

Ok, so where is the difficulty?  Defining relations is a core functionality of Creo...

edi
6-Contributor
6-Contributor
(To:psobejko)

True. I've defined all the constants and the coordinates of the inner and outer casings points corresponding to the points on the mean-line. I create points (offset from coordinates) and use those relations and the values I get are corrected. But when I go back to the relations and change a constant to another value the coordinates of the points doesn't update. Well this is the first time that I'm using CREO and I don't know all the bits and pieces of CREO to work my way out. I tried to create pattern with table but I don't know how to set up the table or if thats the solution to what I'm trying to achieve

MartinHanak
24-Ruby II
(To:edi)

Hi,

 

if I were you I would upload my model. This step enables community users check your problem.


Martin Hanák
edi
6-Contributor
6-Contributor
(To:MartinHanak)

I've included two .prt files. The itd.prt is a test case which I did my calculation outside of CREO and imported the obtained coordinates into CREO. The points.prt is at the most initial step, which I have imported the meanline points and defined the relations and don't know where to go from there. Also, d0,d1,...,d149 is the id that CREO has assigned to the meanline coordinates.

 

Thanks

MartinHanak
24-Ruby II
(To:edi)

Hi,

 

I worked with points.prt model. I created curve trough points.

pic01.png

Then I edited the definition of point feature and use Update Values button

pic02.png

pic03.png

Then I replaced all point coordinates with new values.

pic04.png

Then I finished feature edition.

pic05.png

Points and curve are now in new location.


Martin Hanák
MartinHanak
24-Ruby II
(To:edi)

To get two other curves I suggest you to create Direction pattern of Point feature (3 instances) and then Reference pattern of curve.

pic06.png


Martin Hanák
edi
6-Contributor
6-Contributor
(To:MartinHanak)

Hi Martin,

 

I've already tested all your suggestions. The Mean-line points do update when I modify them. The problem with direction pattern is that it shifts all the points in one direction with a constant value, for example all the points in y direction are shifted 5 mm. However, I want to shift each point with a different value. I tried to pattern the points with table, but when I modify the meanline points the pattern doesn't update. Perhaps we could work on this last step.

MartinHanak
24-Ruby II
(To:edi)

Hi,

 

I would generate coordinates of your three 50-point sets outside Creo (I thin that in Excel it is quick and easy) and import them into Creo as three Point features. If this method is not the right one, please tell me why.


Martin Hanák
psobejko
12-Amethyst
(To:edi)

I have to tap out of this one as I can't open your files (you are using Creo 4.0?)

 

Anyway, I'm baffled as to why you are bringing in the meanline .pts data (calculated outside) and then trying to parametrically generate the inside/outside diffuser sections using creo.  How will you be tweaking these 50 thickness values?  - by typing in individual values, regenerating, and trying to visually obtain smooth surfaces?

 

Have you considered doing all your calculations outside, bringing in just the inside / outside curves and then building the rest of your model???

edi
6-Contributor
6-Contributor
(To:psobejko)

Yes I'm using CREO 4.0. The meanline points can be created inside of the CREO with datum point offset from a coordinate system and they can be modified and update. The 50 thicknesses are specified one by one. I'm not a big fan of this method but this is how I should do it. As I mentioned earlier I have other features to add to the diffuser, mainly guide vanes and struts. The location of the guid vanes is related to the axial length of the diffuser. The blades will be placed between the inner and outer casings and when I change the thickness of the flow path or the coordinates of the meanline everything should be regenerated. I can't create the model for only one set of parameters if you know what I mean.

psobejko
12-Amethyst
(To:edi)

I think that you should re-consider your approach, because you seem to be under the impression that you will have to re-build the guide vanes and struts and the rest of your model if you ever go through the "update values" process (illustrated in an earlier post of this thread).

 

Anyway, it does feel like we are talking past one another, so I will just say "Good luck!"

psobejko
12-Amethyst
(To:psobejko)

Ok, I couldn't resist taking another look and came up with this method that you might find useful:table_pattern_driven_curves.png

 

Edit the pattern table to tweak the thickness values.

 

 

edi
6-Contributor
6-Contributor
(To:psobejko)

psobejko your method does work. I changed the coordinates of the points and the model was updated. This was true when I modified the table too. Would you mind elaborating on the method. I can follow it up to the point that you created the median line. I have another question, Is there a way to drop the curve into a sketch? The way that I'm doing it is a bit weird. I create a sketch and then I go to project and the I select the curve. Is that correct?

dschenken
21-Topaz I
(To:edi)

Creo often has several methods to get approximately the same result. It doesn't have many cases where there are several methods to get exactly the same result.

 

In this case, if you have a way to get a reference to a curve into a sketch, there won't be any other way to do the same thing by 'dropping' or whatever other CAD systems do.

psobejko
12-Amethyst
(To:edi)

This describes the steps I used:

1) once median curve is established, put a datum point on it.  The location of this point can be specified in 2 ways: as a ratio, or as a along-the curve distance from an end of the curve (I chose the ratio scheme).  Let's refer to this point as P1.

 

2) create a datum plane that goes through the point P1 and which is parallel to the default yz plane.  Let's call that plane D1

 

3) Create a sketch on D1 and as a reference, choose the point P1.  In my example, the sketch is just a vertical line and a constraint is added that makes the reference point P1 be the midpoint of this line.

 

4) Once sketch is accepted, I "absorb" the datum features P1 and D1 into it.  You do this by dragging them onto the sketch in the model tree.  This way you get a single "superfeature" which is controlled by 2 dimensions - the distance along the curve, and the length of the sketched line.

 

5) I then generate a table pattern of this superfeature and use its 2 dimensions as the variables in pattern instances.

 

6) Then the inside / outside curves are constructed by manually collecting the points generated by the pattern.

 

---

I assume your "another question" pertains to building the cross-section for a revolve feature?

So yes, you can trace the curves generated in step 6 above using the "project" tool you describe.  This is the standard method.  Another method would be to skip generating the curves in step 6, and then build your sketch directly using the points generated in step 5 above (essentially, you'll specify a 50 point spline in the sketch itself).

 

In either case, you have to go through the pain of selecting 50 datum points.  This is one of the reasons (and it's a big one) that I think the method of importing / updating externally generated  .pts data is superior.  That and the fact that the table-editing tools available inside of Creo are pretty poor (compared to MS-Excel, for example).

 

Final note: if you do choose to use this techinque, you will have to make some changes to the procedure - because if I recall correctly, your thickness calculations are based on the distance along the axial direction of the diffuser (and not the distance along the median line).

 

 

edi
6-Contributor
6-Contributor
(To:psobejko)

Thanks very much for your detailed explanations I will try this method. I created an Excel spreadsheet with the coordinates of the meanline and the relations between the meanline,thicknesses and coordinates of the inner and outer casings. It is much more efficient. Then I imported the coordinates of the inner and outer casings as I no longer needed the points on the meanline. Then I created two curves and projected them into a sketch and closed the sketches and revolved them to create the solid model. Then I tried to update the points, and this is happend: only the original curves were updated and the projected curves in the sketches didn't update and  regeneration of the model failed. Is there a solution to this problem?

dschenken
21-Topaz I
(To:edi)

So what happened when you redefined the sketches to see the diagnostic messages?

edi
6-Contributor
6-Contributor
(To:dschenken)

Actually I made a little mistake. I was re-importing the points which lead to regeneration failure. I used the update bottom and modified the coordinated in the notepad tha poped up and regeneration was successful.

Thanks  for all your efforts and suggestions. I can move on to the guide vanes now.

MartinHanak
24-Ruby II
(To:edi)

Hi,

 

congratulations 🙂 It is always difficult to understand software logic...


Martin Hanák
Top Tags