|
Welcome to the COE Discussion Forum!
|
|
|
|
To participate in the discussion forum, you must be logged in to the website. If you forget your login information, please contact COE Headquarters at coe@coe.org or (800) 263-2255.
If you are new to the COE Discussion Forum and would like to participate, please register.
|
|
|
The COE 2008 Fall Industry Workshops
|
| Experience two days of industry-focused education and hands-on training on the Dassault PLM solutions suite of products. All education featured at the workshop is developed by and for users of CATIA®, ENOVIA®, DELMIA® and SIMULIA®. |
| |
|

|
Automotive
Oct. 15-16
Troy, Michigan
|
Aerospace & Defense
Oct. 27-28
Wichita, Kansas
|
 |
|
Register by October 10 and Save $100
|
|
| Forum Highlight: CATIA V6 |
|
|
 |
|
 |
| You are not authorized to post a reply.
|
|
| Author |
Messages |
|
IPHILLIPS
 |
| 30 Jun 2005 04:40 PM |
|
Does anyone know how to GSD invert a curve in a rule?
(Sorry if you saw this in another Area. I had forgotten that the KBE area existed.) Maybe I'll get some success here.
I wish to do this:
if ....... { invert(Curve.1) }
So that the curve orientation is flipped. |
|
Ian Phillips. FORCEFIVE AG, Munich, Germany |
|
|
pwebb
 |
| 07 Jul 2005 04:20 AM |
|
You may already have the answer to this but just in case.....
You can't to an inverse operation with the knowledgeware language at this time as there isn't a constructor (as far as I know) to do the operation.
You have to create the two curves (forward and reversed) manually and create a rule to choose which one you want and then use the result curve in future operations. I've attached a screen grab of my session to show you what I mean.
Hope this helps. |
|
|
|
|
pwebb
 |
| 07 Jul 2005 04:22 AM |
|
Wrong attachment sorry! Here's the right one. |
|
|
|
|
pwebb
 |
| 07 Jul 2005 04:24 AM |
|
| Finially here it is.... |
|
|
|
|
IPHILLIPS
 |
| 07 Jul 2005 03:46 PM |
|
Thanks Paul
I often used that method for UDFs where "spare" inverts are not seen. However my current problem is to take 12 curves and evaluate them. Depending on their position and other factors I may need to invert any number of them. I do not want 12 redendant inverts outside the rule waiting to be used.
My current workaround is the old V4 GSM trick of joining the curve to a line of known orientation, then breaking it again: Curve.1=split(assemble(Line(Pt1,Pt2),Curve.1),Pt1,true)
Not the cleanest of methods. But it works. Oh for an invert()! |
|
Ian Phillips. FORCEFIVE AG, Munich, Germany |
|
|
COE-FORUM-USER
 |
| 07 Jul 2005 07:01 PM |
|
Hi Ian,
I don't known if this is going to help you But … Direction of a spline depends on the order you select Input points. If look at array of input points and try to reverse the order of points
So the first point will become last this will invert dir of your spline
I hope this will help |
|
|
|
|
IPHILLIPS
 |
| 08 Jul 2005 08:11 AM |
|
Thanks Les But its not me creating the curves. They are inputs to a powercopy. This powercopy has to run robustly regardless of the orientation of the input curves. |
|
Ian Phillips. FORCEFIVE AG, Munich, Germany |
|
|
COE-FORUM-USER
 |
| 11 May 2006 10:41 AM |
|
Here's what I think: Create a UDF catalog for the basic geomtry types: LN,CRV,PLN,SUR Each UDF somehow evaluates the orientation (sorry, no clue here) Each UDF also has user selctable parameters for the pos,neg of the three Axis vectors, provides the selected output.
When creating the Power copy, place the dead inputs in an "Input" body (per usual) Then, in the construction Body, begin by "assigning" an orientation to the dead elements via the udfs.
Finally, build the PCPY.
This type of setup should ensure the sucess of the PCPY, regardless of Input element orintation... |
|
|
|
|
IPHILLIPS
 |
| 12 May 2006 03:22 AM |
|
As there is no Right and Wrong orientation of a feature, the orientation must be evaluated in a context. In my case I look at the positions of my input curves relative to each other and invert them accordingly.
I have actually achieved a compact solition. Instead of the desired:
Curve.2=invert(Curve.1,true)
I have to use:
Curve.2=split(assemble(Line(Pt1,Pt2),Curve.1),Pt1,true)
I just want to refine it further if possible. |
|
Ian Phillips. FORCEFIVE AG, Munich, Germany |
|
|
|
| You are not authorized to post a reply. |
|
|
|
ActiveForums 3.6
|
|
|
|