For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

TCollection_IndexedDataMap

Patrik Mueller's picture
Forums: 

Hi,

I'm trying to build a IndexedDataMap for some of my classes. The problem is I don't use WOK (by the way, is there a documentation for WOK and CDL available?).
I usually copy the files for a collection type and replaces the types with my types.
Which files do I need for an IndexedDataMap??

Best regards,

Patrik Müller

Patrik Mueller's picture

Hi again,

thanks to the people sending me docs for working with WOK and CDL.
Apart from that I got some help for changing existing sources to my needs.
Now I hope I can can work with WOK under Windows (after studying the docs).

Best regards,
Patrik Müller

Patrik Mueller's picture

Help,

after getting the docs - does anyone have an HowTo for setting up WOK with windows??
I'm always receiving message for missing environment variables and so on - and I'm not the TCL expert:-((
So if anyone could help...

Regards,
Patrik Müller

Shylesh Sangodkar's picture

hi patrik,

even i have similar problem to set wok for windows..did u manage to work it out? if yes then pls tell me also how to get wok working on windows.

Thanks
Shylesh

Patrik Mueller's picture

Hi Shylesh,

still fighting with enviroment variables...

I'll give you an answer if I'll solved my problems.

Best regards,
Patrik

Shylesh Sangodkar's picture

Dear Patrik,

I need brief details abt the Graph related
classes in the OCAS, especially the GraphDS
package. I cant figure out what is the basic
purpose of these classes (IFGraph, GraphTools, GraphDS..etc)...

Actually my porblem is geometry searching in
the given object obtained from reading step file. say for example i have to find 2 plates
connected at one edge at right angles, this
pattern i have to find in the object. can u
suggest me how to go about?

best regards
shylesh

Shylesh Sangodkar
Computer Programmer
Phil Systems Ltd.
India.

Patrik Mueller's picture

Hello,

I'm not the OCC expert. I suggest you look for the topology and geometrical classes (e.g. TopTools_Explorer and so on). And not to forget studying the manuals and cdl files!

Best regards,
Patrik Müller

Shylesh Sangodkar's picture

Hi Patrik,

Thanks for advice. Your advices are of great help.

CDL files provide very less information. And I dont know which manuals are you talking about. As far as technical documentation is concerned i dont think there are any such docs (if available pls give me the links).

Best Rgds
Shylesh

legoff's picture

Hi Shylesh,

here is a part of code I use to explore a BREP imported part (_BREP_part) in order to rebuild cylinders (when imported they are 2 shapes).
So, from a shape _BREP_part it build a TopTools_IndexedMapOfShape in which each element is a shape or a compound of 2 shapes for cylinder. May be it will help ...

#define theType TopAbs_FACE
TopoDS_Shape aShape = _BREP_part;
BRep_Builder aBuilder;
Standard_Integer i,j;
Standard_Boolean flagCompound;
TopTools_IndexedMapOfShape theMap;
TopTools_SequenceOfShape theCylinderSeq;
TopExp_Explorer It(aShape,theType);
BRepBuilderAPI_Copy cop;
for (; It.More(); It.Next()) {
const TopoDS_Shape& S = It.Current();
cop.Perform(S);
const BRepAdaptor_Surface theFace = TopoDS::Face(cop.Shape());
if (theFace.GetType() == GeomAbs_Cylinder)
theCylinderSeq.Prepend(cop.Shape());
else
theMap.Add(cop.Shape());
}
for (i=1; i flagCompound=false;
const BRepAdaptor_Surface theFace = TopoDS::Face(theCylinderSeq(i));
Geom_CylindricalSurface cyl1 = theFace.Cylinder();
TopoDS_Compound aCompound;
aBuilder.MakeCompound(aCompound);
aBuilder.Add(aCompound,theCylinderSeq(i));
for (j=i+1; j const BRepAdaptor_Surface theFace1 = TopoDS::Face(theCylinderSeq(j));
Geom_CylindricalSurface cyl2 = theFace1.Cylinder();
if (IsSameCylinder(cyl2,cyl1)) {
aBuilder.Add(aCompound,theCylinderSeq(j));
theCylinderSeq.Remove(j);
flagCompound = true;
cout }
}
if (flagCompound)
theMap.Add(aCompound);
else
theMap.Add(theCylinderSeq(i));
}

Best Regards

OL

Nilesh's picture

Hi OL,

thanks for the piece of code..but what is
IsSameCylinder() for??? Pls give me that
function code also......

Best Regards
Shylesh.

Contact us

Attention: DO NOT use this form for all kind of request for the removal of your personal data. Please follow this link for such cases.