Home
Reply
ssv
Contributor
ssv
Posts: 9

Face with disposed surface in SAT-file?

Hello all!

 

I have a SAT file with an interesting specificity: among many valid faces, it contains a face referencing a spline-surface which is disposed aside from the face's loop (see attached screen).

It looks like inconsistency, however, RADF Viewer reads that file successfully. As far as I can see, the disposed surface is geometrically suitable for the broken face (at least, the loop's coedges reference this surface as a basis for their P-curves), but must be somehow transformed (translated & rotated) in order to fit the face. I expected to find such a transformation in the TRANSFORM entity, however, the corresponding entity contains an identity transformation (nothing is really transformed). On the other hand, the TRANSFORM entity is applied to the BODY, not to some specific face. Am I right with that?

Therefore, this surface looks like it is going to be transformed, but I cannot find any instruction in my SAT file, which says to do so and gives the transformation parameters. I was searching through the assigned attributes and failed to find any hint there.

 

Could you help me with that?

Is it legal that SAT file contains a face with a surface, which needs to be transformed somehow before modeling? If so, how could we know, what transformation to apply? What is the place/entity/instruction in the SAT file which refers such kind of transformation?

Or maybe it is just a bad file?

Herebelow, I've posted some lines from this file:

...
face   $51099 -1 $-1 $50737 $50730 $109 $-1 $51100 reversed single #
...
-51099 string_attrib-name_attrib-gen-attrib $-1 -1 $51212 $-1 $50937 copy keep_kept ignore copy @9 SpT_Layer @9 Originale #
...
-50730 loop   $-1 -1 $-1 $-1 $50481 $50937 #
...
-51100 spline-surface  $-1 -1 $-1 forward { sumsur
    intcurve reversed { ref 594 } I I
    straight -18.51017889380455 9.318975299596787 5.998380388832533e-017 0 0 -1 I I
    -18.51017889380455 9.318975299596787 5.998380388832533e-017
    full nubs 2 1 open open none none 3 2
    -1 2 -0.5 1 0 2
    0 1 6.4 1
    -18.51017889380455 9.318975299596787 0
    -18.57311096787453 9.421764314174652 0
    -18.76610252261162 9.625244557857513 0
    -19.10593554377556 9.910536527633667 0
    -18.51017889380455 9.318975299596787 -6.4
    -18.57311096787453 9.421764314174652 -6.4
    -18.76610252261162 9.625244557857513 -6.4
    -19.10593554377556 9.910536527633667 -6.4
    0
    0
    1 -0.5
    0
    0
    0
    0   } F -1 F 0 F 6.281522540702418 F 6.4 #

The control-points specified in this spline-surface entity make up a disposed surface.

 

I'll appreciate your help a lot!

inv22398.gif
Regular Contributor
Vi2
Posts: 72

Re: Face with disposed surface in SAT-file?

Can you post the file with this FACE to reproduced it on the screen?

 

AFAIK, the only BODY has the TRANSFORM. All other topological entities don't have one.

ssv
Contributor
ssv
Posts: 9

Re: Face with disposed surface in SAT-file?

[ Edited ]

Hello  Vi2,

 

Thanks for your comment and attention!

I've attached the problematic file. You can take a look on face #50937 -- it is the one I've described above.

Regular Contributor
Vi2
Posts: 72

Re: Face with disposed surface in SAT-file?

I cannot confirm your issue. The #50937 face is well-formed face both in XYZ and in UV spaces. Check, please, the attached file to be sure that we talk about same face.

I see the only one difficulty - face's surface is a subset of underlying "sumsur" surface. The original surface is defined by range [-1,0] in u and [0,6.4] in v. The face's surface is defined by range [-1,0] in u and [6.281522540702418,6.4] in v. So, you cannot apply all range of pcurve into face's surface, but only range, defined by suitable edge.

Regular Contributor
Vi2
Posts: 72

Re: Face with disposed surface in SAT-file?

[ Edited ]

I think that I understand your problem.

 

 

SAT Identifier: "sumsur" 

Description: This class represents a surface that is a linear sum of two curves. This is derived from the class spl_sur, which is used by the spline surface class to contain the surface descriptions. The surface is defined primarily by two curves that are assumed not parallel, and the parameter ranges over which the surface is defined. 

Parametric Representation 

If the curves are represented as: 

x = c1(t) and x = c2(t) 

the surface is: 

x = s(u, v) = c1(u) + c2(v) - p 

where p is a constant position, normally initialized to be the value of c2 at the start of the parameter range. 

 

So, for #51100 surface:

"intcurve reversed { ref 594 } I I" is c1(u),

"straight -18.51017889380455 9.318975299596787 5.998380388832533e-017 0 0 -1 I I" is c2(v),

"-18.51017889380455 9.318975299596787 5.998380388832533e-017" is p, and

"full nubs 2 1 open open none none 3 2 ..." is a spline representation of sumsur.

 

All are in a place.

ssv
Contributor
ssv
Posts: 9

Re: Face with disposed surface in SAT-file?

[ Edited ]

Thanks a lot for your help, Vi2!

 

I've tried the SAT-file you attached, and, yes, it is exactly that problematic face. However, this face has different co-ordinates comparing to those recorded in the initial file I've attached. I think you've used some ACIS extraction tool, which modified these co-ordinates somehow, have you?

 

The file you've attached looks quite OK, at least I can understand what & why is recorded there. Let me explain, what looks weird for me in the initial file.

 

First of all, I've taken a look on face #50937 (line 68522 in the SAT-file). It references the "sumsur" surface #51100 (which you described in your post). Please note, that this "sumsur" surface has control points like (-18.51, 9.31, 0), i.e. its b-spline representation is located somewhere near X = -18, Y = 10, and Z = 0. No problem here.

 

Then I have started observing the face's loop, specified by entity #50730. I've traversed over each edge, expecting to find vertices having 3D co-ordinates near the point X = -18, Y = 10, and Z = 0, as they must belong to the surface. However, I've found that these vertices have co-ordinates like (-50.43, 10, -6). E.g. edge #50481 has vertices #50482 and #50731 near the point X = -50, Y = 10, Z = -6. This is really far from the points specified in "sumsur" (-18, 9, 0).

 

I wonder why the file you've recorded contains different coordinates for c1(u), c2(v), and datum point P. Do you have any idea? Or am I missing something obvious?

Regular Contributor
Vi2
Posts: 72

Re: Face with disposed surface in SAT-file?

[ Edited ]

I have no suggestions why this difference - difference between surface in your post and in your file - takes place.

 

In your file I cannot find the "ref 594" to which your #-51100 surface refers. But I find the "face $51099 -1 $-1 $50737 $50730 $109 $-1 $51100 reversed single #", and I do with this face. I launched SCHEME AIDE and made SAT file with sequence number to all entries. After this I compared your and my files to be sure that the files are identical. Finally I saw that definitions of #51100 sumsur are different, but what could I do if the original "test.sat" doesn't contain your coordinates?

 

[-50937] face $51099 -1 $-1 $50737 $50730 $109 $-1 $51100 reversed single #
...

[-51100] spline-surface $-1 -1 $-1 forward { ref 593 } F -1 F 0 F 6.2815225407024178 F 6.4000000000000004 #

[-50734] intcurve-curve $-1 -1 $-1 forward { surfintcur full nubs 3 open 3 
0 3 0.43289439175018818 2 0.66821814050261374 3 
-50.43361160159111 10.906960487365723 -6.2861354377827166 
-50.568504183117469 10.95674223701088 -6.298289422367386 
-50.706210405060745 11.028637672956714 -6.3059963671858537 
-50.898986713488846 11.141925432218899 -6.3111570359393605 
-51.057408074952015 11.236845059690978 -6.3127075917493221 
-51.188796073198318 11.362168908119202 -6.3087756817582896 
0.00044712100766271489 
spline forward { sumsur                 <======== this "sumsur" is 593 reference
intcurve reversed { exactcur full nubs 2 open 3 
0 2 0.5 1 1 2 
-51.188796073198318 11.362168908119202 0 
-51.052443295717239 11.232109427452087 0 
-50.609821349382401 10.97199022769928 0 
-50.43361160159111 10.906960487365723 0 
0 
null_surface 
null_surface 
nullbs 
nullbs 
I I 
0 
1 0.5 
0 
F 1 F 0 } I I 
straight -51.56638839840889 12.043932795524597 -6.9360283142280644e-017 0 0 -1 I I 
-51.56638839840889 12.043932795524597 -6.9360283142280644e-017 
full nubs 2 1 open open none none 3 2 
-1 2 -0.5 1 0 2 
0 1 6.4000000000000004 1 
-50.43361160159111 10.906960487365723 0 
-50.609821349382401 10.97199022769928 0 
-51.052443295717239 11.232109427452087 0 
-51.188796073198318 11.362168908119202 0 
-50.43361160159111 10.906960487365723 -6.4000000000000004 
-50.609821349382401 10.97199022769928 -6.4000000000000004 
-51.052443295717239 11.232109427452087 -6.4000000000000004 
-51.188796073198318 11.362168908119202 -6.4000000000000004 
0 
0 
1 -0.5 
0 
0 
0 
0 
} I I I I 
cone -51 34.966369879106168 0 0 -1 0 0 0 -6.3115999999999914 1 I I 0 -1 6.3115999999999914 forward I I I I 
nubs 3 open 3 
0 3 0.43289439175018818 3 0.66821814050261374 3 
-1 6.2861354377827166 
-0.80861929714846026 6.298289422367386 
-0.64111808571943796 6.3059963671858537 
-0.50003940388719736 6.3093396235652648 
-0.42334826417621696 6.3111570359393605 
-0.24089717986224343 6.3127075917493221 
0 6.3087756817582896 

nullbs 
I I 
0 
1 0.4329346860099757 
0 
} I I #

 

ssv
Contributor
ssv
Posts: 9

Re: Face with disposed surface in SAT-file?

[ Edited ]

Thanks a lot for your efforts, Vi2!

Is SCHEME AIDE accessible for evaluation usage? I think it would be really helpful to understand what's going wrong.

Regular Contributor
Vi2
Posts: 72

Re: Face with disposed surface in SAT-file?

We sometimes use the useful "acis\bin\NT_DLL\acis3dt.exe", which is called SCHEME AIDE. There are the source for compile this product, but we use it "as is". The advantage of usage of origin SCHEME AIDE is that it is a pure SPATIAL product without external interference and all actions with its help are repeated at any place of world. But some analyses are made under own system.

ssv
Contributor
ssv
Posts: 9

Re: Face with disposed surface in SAT-file?

Could you give a hint, where and how can I get this tool?