[fpc-pascal] Re: Using OpenCASCADE 3d tools with Pascal?

Marc Santhoff M.Santhoff at t-online.de
Fri Dec 19 04:39:17 CET 2008


Am Freitag, den 19.12.2008, 08:46 +1100 schrieb Paul Nicholls:
> "Marc Santhoff" <M.Santhoff-zqRNUXuvxA0b1SvskN2V4Q at public.gmane.org> wrote
> in message news:1229580231.333.8.camel at localhost.das.netz...
> > Am Donnerstag, den 18.12.2008, 09:02 +1100 schrieb Paul Nicholls:
> >> Hi all,
> >>     I am wondering if anyone here has ever managed to use the free
> >> open-source OpenCASCADE 3d tools (www.opencascade.org) with Pascal
> >> before?
> >
> > I don't think so, but I remember two facts:
> >
> > The toolkit is huge, porting will be a lot of work.
> > And it'll be complicated or maybe impossible because it is written in C
> > ++. IIRC there are some problems related to C++ objects in libraries and
> > fpc.
> >> An already developed ActiveX OCX control has been developed that may
> >> work but it costs lots of money.
> >
> > IIRC there was Java binding back in version 4 of opencascade (the
> > version I had to deal with). I'm not sure if that could be used as a
> > guideline for adapting to object pascal, though.
> >
> > HTH anyhow,
> > Marc
> >
> 
> I was thinking more along the lines of perhaps creating a compatible dll
> that could be used for Pascal/Delphi, and if necessary, flattening when
> necessary method calls to plain functions, etc.
> 
> I'm sure this sort of thing has been done before as you can use it under
> Visual Basic, Java, C#, Python, Ruby.

I *think* that could be doable, I'm not so sure currently if there were
general problems using C++ or if it had to do with ref-counted objects,
memory management, or maybe only forms and graphical objects.

Hopefully someone else can speak up here ...

> I have seen various people create a single dll containing the OpenCASCADE 
> routines, but I am not sure how.
> 
> One person has made
> 
> "NaroCAD, a free open source parametric modeling CAD application with C#:
> http://sourceforge.net/projects/narocad/. The project contains a 
> .Net(C++/CLI) wrapper layer and also a wrapper code generator application, 
> you can generate your own wrappers in the language you want.
> The OCC 6.3.0 wrappers are compiled under one assembly named 
> OCWrappers.dll."
> 
> See the thread below
> http://www.opencascade.org/org/forum/thread_14766/

There is FreeCAD, too. If all people starting a CAD program on sf.net
would unite, that would be quite enough manpower to build a complete
free CAD application in three months. ;)

Something similar, hopefully explaning what you need:

http://info.borland.com/borlandcpp/papers/bc360/

HTH,
Marc





More information about the fpc-pascal mailing list