Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
While breaking out the Algebra book can work, you may wish to try a solve block:
SOLVE
d1 + d2 = 500
d1 - d2 = 0
FOR d1 d2
You can substitute your own functions.
http://help.ptc.com/creo_hc/creo30_pma_hc/usascii/index.html#page/pma/fundamentals/fund_seven_sub/About_Simultaneous_Equations.html
x
Try this equation as an alternative to the parabola:
radius= 25 + 25* (3 * sin(trajpar*180))
Here is an example part that illustrates how you might approach the solution...
Hi Doug.
If you need a linear approach with variable values, you might try this:
/* End value
end=100
/* Relative position of turning point
rel= 0.25
/* Value at turning point
val=100
/* auxiliary variables
delta_first_half=val-start
delta_second_half=end-val
if trajpar < rel
sd3=start+delta_first_half*(trajpar/rel)
else
sd3=val+delta_second_half*(trajpar-rel)/(1-rel)
endif
Nice thread by the way...
Matthias.
Hi Doug - (and others participating in this discussion)
I was impressed by the use of parabolic and other trigonometric equations which would yield a very "smart looking" variable section sweep result. Personally, I like to jump on the evalgraph function, especially when I don't know exactly what I want my results to end up looking like. Someone asked how evalgraph works and truthfully I have to relearn it every time I use it because many moons pass between uses and it's not the most straight forward methodology. It is an incredible tool to imbed in a solid modeler (not sure if I will find it in SolidWorks).
The way it works is (for Creo 2);
You will need a datum graph (pull down datum tab on ribbon) prior to the VSS on the model tree.
You will be asked to assign a name to the graph which I suggest a short name that reminds you what it is for, for exampleradius_value in this case.
Then a section window looking like graph paper will appear. Time to draw your graph. Sketch a coordinate system in the lower left and work to a unit length of one. (the graph is one unit on the horizontal axis). When you use evalgraph in a VSS relation, the value the graph generates will vary as you travel from 0 to 1.
Draw the graph to a shape that represents the dimension value you want assigned as you travel along the trajectory. This shape can be any line that does not present two “y” values for a given “x” value. Depending of the values that you want to generate, it maybe appropriate to use a multiplier later when generating the relations. (In this example the values of 100-25-100 represent a very broad vertical range, so it may be easier to generate the graph as a unit graph vertically and then using a multiplier of 100 in the relations.)
When the graph is complete, exit the sketcher and you will have a graph feature in the model tree. Graph features can be modified (opens up a smaller window with the non-dynamic graph show) or redefined (edit definition). For lack up attention, this feature will be take you to the “old fashion” menu option and you will be given the option to rename the feature every time prior to opening the graph window. Once you are back in the sketch, you can dynamically modify the graph, but you will have to regenerate the model to update the results.
Generate the VSS feature (sketch the trajectory curve and create a sweep) Before sketching, select the icon that looks like a curved graph that “Allows section to change based on parametric references....”
Generate the sketch and assign a dimensioning scheme that includes the dimensions that you wish to vary. It is now time to start getting fancy using relations. On the ribbon tab, select tools, and then select d=Relations. Since you are in the sketcher, the relations window will open ready to add relations to the section by default.
Select the dimension that you want to drive with the graph (sd7 for example) and it will populate the relation window. Then you can either type or use the gui tools, but you want to end up with: sd7=evalgraph(“ radius_value”,trajpar)*100 - Note that I have a 100 multiplier working on the evalgraph since I drew my graph from 1-.25-1 instead of 100-25-100. Note the syntax of evalgraph function includes putting the name of the graph inside the parenthesis and inside double quotes. The second argument of the evalgraph is trajpar which basically means change the value of the dimension as you travel down the trajectory.
Select OK to exit the relations window and exit the sketcher. If the feature fails to regenerate, check for geometry / dimensioning scheme in your sketch that would cause inversions or “zero” length line segments, etc as the variable dimension varies through its expected range. It may be necessary to temporarily nullify the relation and manually modify the dimension through the range to evaluate the problem. To suspend the relation, edit the relations and insert /* in front of the line to make it comment (comments are ignored).
Best regards,
Larsen Design Engineering
https://sites.google.com/site/larsendesignengineering/