# Recompile TAUCS to Enable SuperLU

23 messages
12
Open this post in threaded view
|

 Dear all, I posted a question about how to compile TAUCS with VC8.0 some days ago. With the help of Laurent Saboret, I successfully compiled it with his latest script build_taucs_win32_for_CGAL.bat. But I still can not achieve my goal currently. The reason I want to recompile TAUCS is that I want to use LU decomposition to solve linear system with unsymmetric system matrix. As we know, taucs provided an out-of-core LU solver 'taucs_ooc_factor_lu' and 'taucs_ooc_solve_lu'. This implementation can be very slow. So I want to use SuperLU instead. I find that there are already two interface functions ('taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu') for SuperLU defined in '\src\taucs_superlu.c'. Unfortunately, TAUCS does not compile this file and hence there seems no way to access superlu with default configuration! As a result, I decide to make some changes to TAUCS compilation config. The way I do this is as follows (take the _MT runtime for example): 0) I modified '\src\taucs_superlu.c' to use the latest SuperLU (v3.0) functions. This step is tested to be correct as the compilation has passsed. 1) I modified '\configurator\taucs_structure.h' by adding an items in module definition: { "SUPERLU", include, 0 , {"BASE", 0}, {"taucs_superlu", 0}, "libtaucs", {"LIBSUPERLU", 0} } also, I added the source file definitino into 'struct file file[]': { "taucs_superlu", "DIRSRC", csource|dreal } by doing this, the generated '\build\win32_MT\makefile' looks correct with the following sentences appearing: LIBS = $(LIBLAPACK)$(LIBBLAS) $(LIBMETIS)$(LIBSUPERLU) $(LIBF77)$(LIBC) ...... $(DIROBJ)taucs_superlu_D$(OBJEXT): $(DIRSRC)taucs_superlu.c$(INCS) $(STDDEPS)$(CC) -c $(CFLAGS)$(STDDEFS) $(STDINCS) \ -DTAUCS_CORE_DOUBLE \$(DIRSRC)taucs_superlu.c \         $(COUTFLG)$(DIROBJ)taucs_superlu_D$(OBJEXT) ...... libtaucs_content = \ ...$(DIROBJ)taucs_superlu_D$(OBJEXT) \ ... 2) In file '\config\win32_MT.mk', I added a definition to$(LIBSUPERLU) : LIBSUPERLU = external\\lib\\win32\\libsuperlu_3.0.lib 3) I put a compiled SuperLU (v3.0) lib 'libsuperlu_3.0.lib' into folder 'external\lib\win32\' 4) I put all header files into folder '\src\' needed when compiling '\src\taucs_superlu.c' 5) HERE, I begin to compile TAUCS by running build_taucs_win32_for_CGAL.bat. This stage goes without any problem! The installation copys the 'libsuperlu_3.0.lib' into the folder 'P:\ath\to\CGAL\auxiliary\taucs\lib' just as other libs, e.g., 'libatlas.lib'. 6) In order to use SuperLU, I added the declaration of functions 'taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu' into header 'P:\ath\to\CGAL\auxiliary\taucs\include\taucs_private.h' THEN, I call the function 'taucs_ccs_solve_superlu' in my VC8.0 project with correct CGAL settings (TAUCS lib/header). But the compiler complains the following linking error: ...... 1>Linking... 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved external symbol _StatFree referenced in function _taucs_ccs_factor_superlu 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved external symbol _Destroy_CompCol_Permuted referenced in function _taucs_ccs_factor_superlu 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved external symbol _Destroy_SuperMatrix_Store referenced in function _taucs_ccs_factor_superlu ...... 1>Release\MeshStudio.exe : fatal error LNK1120: 14 unresolved externals It seems the compiler does not know how to find the SuperLU lib. But in fact I have put 'libsuperlu_3.0.lib' into 'P:\ath\to\CGAL\auxiliary\taucs\lib' and my project has set the Additional Library Dir correctly as follows: "$(CGALROOT)\lib";"$(CGALROOT)\auxiliary\gmp\lib";"$(CGALROOT)\auxiliary\taucs\lib" I think there is no difference between 'libsuperlu_3.0.lib' and 'libatlas.lib' (and other external libs such as 'liblapack.lib'). Why does the compiler know how to find 'libatlas.lib' but not 'libsuperlu_3.0.lib'? Did I miss some other critical steps in this procedural? Can anyone tell me what's the problem? Thank you for your patiently reading. I hope I have described my problem clearly. Best regards! Kevin -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss Reply | Threaded Open this post in threaded view | ## Re: Recompile TAUCS to Enable SuperLU  Hi Kevin, On Windows, CGAL uses Visual C++ auto-link feature to select libraries to link with. Try to add the SuperLU library in P:\ath\to\CGAL\include\CGAL\auto_link\TAUCS.h (see metis example). Best regards, Laurent Saboret > Dear all, > > I posted a question about how to compile TAUCS with VC8.0 some days ago. > With the help of Laurent Saboret, I successfully compiled it with his > latest script build_taucs_win32_for_CGAL.bat. > > But I still can not achieve my goal currently. > > The reason I want to recompile TAUCS is that I want to use LU > decomposition to solve linear system with unsymmetric system matrix. As we > know, taucs provided an out-of-core LU solver 'taucs_ooc_factor_lu' and > 'taucs_ooc_solve_lu'. This implementation can be very slow. So I want to > use SuperLU instead. I find that there are already two interface functions > ('taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu') for SuperLU > defined in '\src\taucs_superlu.c'. Unfortunately, TAUCS does not compile > this file and hence there seems no way to access superlu with default > configuration! > > As a result, I decide to make some changes to TAUCS compilation config. > > The way I do this is as follows (take the _MT runtime for example): > > 0) I modified '\src\taucs_superlu.c' to use the latest SuperLU (v3.0) > functions. This step is tested to be correct as the compilation has > passsed. > > 1) I modified '\configurator\taucs_structure.h' by adding an items in > module definition: > { "SUPERLU", include, 0 , {"BASE", 0}, {"taucs_superlu", 0}, "libtaucs", > {"LIBSUPERLU", 0} } > > also, I added the source file definitino into 'struct file file[]': > { "taucs_superlu", "DIRSRC", csource|dreal } > > by doing this, the generated '\build\win32_MT\makefile' looks correct with > the following sentences appearing: > > LIBS =$(LIBLAPACK) $(LIBBLAS)$(LIBMETIS) $(LIBSUPERLU)$(LIBF77) $(LIBC) > > ...... > >$(DIROBJ)taucs_superlu_D$(OBJEXT):$(DIRSRC)taucs_superlu.c $(INCS) >$(STDDEPS) > $(CC) -c$(CFLAGS) $(STDDEFS)$(STDINCS) \ > -DTAUCS_CORE_DOUBLE \ > $(DIRSRC)taucs_superlu.c \ >$(COUTFLG)$(DIROBJ)taucs_superlu_D$(OBJEXT) > > ...... > > libtaucs_content = \ > ... > $(DIROBJ)taucs_superlu_D$(OBJEXT) \ > ... > > 2) In file '\config\win32_MT.mk', I added a definition to $(LIBSUPERLU) : > LIBSUPERLU = external\\lib\\win32\\libsuperlu_3.0.lib > > 3) I put a compiled SuperLU (v3.0) lib 'libsuperlu_3.0.lib' into folder > 'external\lib\win32\' > > 4) I put all header files into folder '\src\' needed when compiling > '\src\taucs_superlu.c' > > 5) HERE, I begin to compile TAUCS by running > build_taucs_win32_for_CGAL.bat. This stage goes without any problem! > > The installation copys the 'libsuperlu_3.0.lib' into the folder > 'P:\ath\to\CGAL\auxiliary\taucs\lib' just as other libs, e.g., > 'libatlas.lib'. > > 6) In order to use SuperLU, I added the declaration of functions > 'taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu' into header > 'P:\ath\to\CGAL\auxiliary\taucs\include\taucs_private.h' > > THEN, I call the function 'taucs_ccs_solve_superlu' in my VC8.0 project > with correct CGAL settings (TAUCS lib/header). But the compiler complains > the following linking error: > ...... > 1>Linking... > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > external symbol _StatFree referenced in function _taucs_ccs_factor_superlu > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > external symbol _Destroy_CompCol_Permuted referenced in function > _taucs_ccs_factor_superlu > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > external symbol _Destroy_SuperMatrix_Store referenced in function > _taucs_ccs_factor_superlu > ...... > 1>Release\MeshStudio.exe : fatal error LNK1120: 14 unresolved externals > > > It seems the compiler does not know how to find the SuperLU lib. But in > fact I have put 'libsuperlu_3.0.lib' into > 'P:\ath\to\CGAL\auxiliary\taucs\lib' and my project has set the Additional > Library Dir correctly as follows: > "$(CGALROOT)\lib";"$(CGALROOT)\auxiliary\gmp\lib";"$(CGALROOT)\auxiliary\taucs\lib" > > I think there is no difference between 'libsuperlu_3.0.lib' and > 'libatlas.lib' (and other external libs such as 'liblapack.lib'). Why does > the compiler know how to find 'libatlas.lib' but not 'libsuperlu_3.0.lib'? > > Did I miss some other critical steps in this procedural? Can anyone tell > me what's the problem? > > Thank you for your patiently reading. I hope I have described my problem > clearly. > > Best regards! > >                        Kevin > > -- > You are currently subscribed to cgal-discuss. > To unsubscribe or access the archives, go to > https://lists-sop.inria.fr/wws/info/cgal-discuss> -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Recompile TAUCS to Enable SuperLU

 Thank you, Laurent! On 5/30/08, [hidden email] <[hidden email]> wrote: > Hi Kevin, > > On Windows, CGAL uses Visual C++ auto-link feature to select libraries to > link with. Try to add the SuperLU library in > P:\ath\to\CGAL\include\CGAL\auto_link\TAUCS.h (see metis example). > > Best regards, > Laurent Saboret > > > > Dear all, > > > > I posted a question about how to compile TAUCS with VC8.0 some days ago. > > With the help of Laurent Saboret, I successfully compiled it with his > > latest script build_taucs_win32_for_CGAL.bat. > > > > But I still can not achieve my goal currently. > > > > The reason I want to recompile TAUCS is that I want to use LU > > decomposition to solve linear system with unsymmetric system matrix. As we > > know, taucs provided an out-of-core LU solver 'taucs_ooc_factor_lu' and > > 'taucs_ooc_solve_lu'. This implementation can be very slow. So I want to > > use SuperLU instead. I find that there are already two interface functions > > ('taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu') for SuperLU > > defined in '\src\taucs_superlu.c'. Unfortunately, TAUCS does not compile > > this file and hence there seems no way to access superlu with default > > configuration! > > > > As a result, I decide to make some changes to TAUCS compilation config. > > > > The way I do this is as follows (take the _MT runtime for example): > > > > 0) I modified '\src\taucs_superlu.c' to use the latest SuperLU (v3.0) > > functions. This step is tested to be correct as the compilation has > > passsed. > > > > 1) I modified '\configurator\taucs_structure.h' by adding an items in > > module definition: > > { "SUPERLU", include, 0 , {"BASE", 0}, {"taucs_superlu", 0}, "libtaucs", > > {"LIBSUPERLU", 0} } > > > > also, I added the source file definitino into 'struct file file[]': > > { "taucs_superlu", "DIRSRC", csource|dreal } > > > > by doing this, the generated '\build\win32_MT\makefile' looks correct with > > the following sentences appearing: > > > > LIBS = $(LIBLAPACK)$(LIBBLAS) $(LIBMETIS)$(LIBSUPERLU) $(LIBF77)$(LIBC) > > > > ...... > > > > $(DIROBJ)taucs_superlu_D$(OBJEXT): $(DIRSRC)taucs_superlu.c$(INCS) > > $(STDDEPS) > >$(CC) -c $(CFLAGS)$(STDDEFS) $(STDINCS) \ > > -DTAUCS_CORE_DOUBLE \ > >$(DIRSRC)taucs_superlu.c \ > >       $(COUTFLG)$(DIROBJ)taucs_superlu_D$(OBJEXT) > > > > ...... > > > > libtaucs_content = \ > > ... > >$(DIROBJ)taucs_superlu_D$(OBJEXT) \ > > ... > > > > 2) In file '\config\win32_MT.mk', I added a definition to$(LIBSUPERLU) : > > LIBSUPERLU = external\\lib\\win32\\libsuperlu_3.0.lib > > > > 3) I put a compiled SuperLU (v3.0) lib 'libsuperlu_3.0.lib' into folder > > 'external\lib\win32\' > > > > 4) I put all header files into folder '\src\' needed when compiling > > '\src\taucs_superlu.c' > > > > 5) HERE, I begin to compile TAUCS by running > > build_taucs_win32_for_CGAL.bat. This stage goes without any problem! > > > > The installation copys the 'libsuperlu_3.0.lib' into the folder > > 'P:\ath\to\CGAL\auxiliary\taucs\lib' just as other libs, e.g., > > 'libatlas.lib'. > > > > 6) In order to use SuperLU, I added the declaration of functions > > 'taucs_ccs_factor_superlu' and 'taucs_ccs_solve_superlu' into header > > 'P:\ath\to\CGAL\auxiliary\taucs\include\taucs_private.h' > > > > THEN, I call the function 'taucs_ccs_solve_superlu' in my VC8.0 project > > with correct CGAL settings (TAUCS lib/header). But the compiler complains > > the following linking error: > > ...... > > 1>Linking... > > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > > external symbol _StatFree referenced in function _taucs_ccs_factor_superlu > > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > > external symbol _Destroy_CompCol_Permuted referenced in function > > _taucs_ccs_factor_superlu > > 1>libtaucs-vc71-mt-s.lib(taucs_superlu_D.obj) : error LNK2019: unresolved > > external symbol _Destroy_SuperMatrix_Store referenced in function > > _taucs_ccs_factor_superlu > > ...... > > 1>Release\MeshStudio.exe : fatal error LNK1120: 14 unresolved externals > > > > > > It seems the compiler does not know how to find the SuperLU lib. But in > > fact I have put 'libsuperlu_3.0.lib' into > > 'P:\ath\to\CGAL\auxiliary\taucs\lib' and my project has set the Additional > > Library Dir correctly as follows: > > "$(CGALROOT)\lib";"$(CGALROOT)\auxiliary\gmp\lib";"\$(CGALROOT)\auxiliary\taucs\lib" > > > > I think there is no difference between 'libsuperlu_3.0.lib' and > > 'libatlas.lib' (and other external libs such as 'liblapack.lib'). Why does > > the compiler know how to find 'libatlas.lib' but not 'libsuperlu_3.0.lib'? > > > > Did I miss some other critical steps in this procedural? Can anyone tell > > me what's the problem? > > > > Thank you for your patiently reading. I hope I have described my problem > > clearly. > > > > Best regards! > > > >                        Kevin > > > > -- > > You are currently subscribed to cgal-discuss. > > To unsubscribe or access the archives, go to > > https://lists-sop.inria.fr/wws/info/cgal-discuss> > > > > -- > You are currently subscribed to cgal-discuss. > To unsubscribe or access the archives, go to > https://lists-sop.inria.fr/wws/info/cgal-discuss> -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Nef_polyhedron_3::intersection(const Plane_3& plane)

 hello CGAL, I hope this function will be made officially open to user and be 'const', in its future release. Perhaps I can hardly live without it formally. :-) Currently I have made it const by myself. B/Rgds Max -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Nef_polyhedron_3::intersection(const Plane_3& plane)

 Hi Max, why do you need it to be const? Peter On Tue, 2008-06-03 at 10:25 +0800, Max wrote: > hello CGAL, > > I hope this function will be made officially open to user > and be 'const', in its future release. > > Perhaps I can hardly live without it formally. :-) > > Currently I have made it const by myself. > > B/Rgds > Max > -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Re: Nef_polyhedron_3::intersection(const Plane_3&plane)

 Hello Peter >Hi Max, > >why do you need it to be const? By a *natural* reason. If it's const, I can avoid some unnecessary copy operation of nef_3 in my other const functions. In fact, I have already made it const, without re-build the library. And it seems work fine. Thanks for your reply. B/Rgds Max > >Peter > -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Is there a plan to include a NURBS package in CGAL?

 Hello, My knowledge of CGAL is limited, but I guess a NURBS package of similar style of design as CGAL will enforce the functionality of the existing modules. :-) Thanks & B/Rgds Max -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## CGAL Installation

 I am attempting to install CGAL on a new computer. The installer attempts to download several files to complete the installation. For some reason and due the way internet is setup, the installer is unable to download the files. What are my options? What am I supposed to do to complete the install? Can I manually download the required files, and save them at some location so that the installer can use those files. Thanks, -- Santosh Tiwari Fluor Daniel EIB 326 Clemson University, Clemson, SC 29634 http://www.clemson.edu/~stiwari/-- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: CGAL Installation

Open this post in threaded view
|

## Re: CGAL Installation

Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package in CGAL?

 In reply to this post by Max-151 >Hello, > >My knowledge of CGAL is limited, but I guess a NURBS package >of similar style of design as CGAL will enforce the functionality >of the existing modules. :-) > Or, does anybody know if there's a full-fledged (or nearly) NURBS package open for use. Thanks Max -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package in CGAL?

 On 6/12/08, Max <[hidden email]> wrote: > Or, does anybody know if there's a full-fledged (or nearly) NURBS > package open for use. Hi Max, OpenCascade (www.opencascade.org) has pretty good NURBS support. It's a big installation, though. Cheers, -- Bart Janssens -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package inCGAL?

 > >Hi Max, > >OpenCascade (www.opencascade.org) has pretty good NURBS support. It's >a big installation, though. Hi Janssens, Thanks for your information. I have ever had a look at OCC, but haven't digged into it. The amount of code of OCC is vast. :-) Have you made use of this part of OCC. And I'd like to hear more detailed experience from you. And I'm still open to any information of this topic. Thanks again. Max > >Cheers, > >-- >Bart Janssens >-- >You are currently subscribed to cgal-discuss. >To unsubscribe or access the archives, go to >https://lists-sop.inria.fr/wws/info/cgal-discuss> -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package inCGAL?

 On Thursday 12 June 2008 10:48:23 Max wrote: > Thanks for your information. > I have ever had a look at OCC, but haven't digged into it. > The amount of code of OCC is vast. :-) > > Have you made use of this part of OCC. > And I'd like to hear more detailed experience from you. My use of OCC is limited to reading IGES and STEP CAD files, and then convert them to NURBS using the methods provided in OCC, so I could import them into K-3D. What sort of NURBS functionality do you need? Cheers, Bart -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS packageinCGAL?

 > >My use of OCC is limited to reading IGES and STEP CAD files, and then convert >them to NURBS using the methods provided in OCC, so I could import them into >K-3D. What sort of NURBS functionality do you need? What I need, ideally, is a full set of fuctionality of generating/manipulating any arbitrary NURBS curves and surfaces. For example, creating a surface from a set of sample point, surface fairing/smoothing, transformation, etc. Regarding your appliation of OCC, is the conversion a hard task or quite trivial to accomplish? Thanks for your help. B/Rgds Max > >Cheers, > >Bart -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package in

 In reply to this post by bART Janssens-2 You can also try Rhino 4.0 the evaluation version, it has full capability except you cannot save a certain amount of times. Their SDK is one of the best I have seen for NURBS manipulation, and maybe their OpenNURBS package, which is free, might be enough for your use. Sam Bart Janssens wrote: > On 6/12/08, Max <[hidden email]> wrote: >   >> Or, does anybody know if there's a full-fledged (or nearly) NURBS >> package open for use. >>     > > Hi Max, > > OpenCascade (www.opencascade.org) has pretty good NURBS support. It's > a big installation, though. > > Cheers, > >   -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re:Is there a plan to include a NURBS package in CGAL

 >You can also try Rhino 4.0 the evaluation version, it has full >capability except you cannot save a certain amount of times. Their SDK >is one of the best I have seen for NURBS manipulation, and maybe their >OpenNURBS package, which is free, might be enough for your use. Hello Sam, As stated on the Rhino's website, "openNURBS is an open source toolkit for reading and writing models in the 3DM format." It seems have not been designed to be used for manipulating NURBS itself. I hope I'm wrong, because I have never actually made use of it. If you have experience playing with it, it would be appreciated that you share with me. Is Rhino's SDK free? Thanks for your help. B/Rgds Max -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss
Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package in

Open this post in threaded view
|

## Re: Is there a plan to include a NURBS package in

 In reply to this post by Max-151 On the discussion of NURBS, I would like to ask the CGAL maintainers in case they know more about this, since they seem to be associated with the INRIA institute. I noticed on this site (http://www-sop.inria.fr/prisme/ECG/) that there was a grant given by the EU to develop a curves and surfaces kernel for CGAL, does anyone know what happened to this project? Sam Max wrote: >> You can also try Rhino 4.0 the evaluation version, it has full >> capability except you cannot save a certain amount of times. Their SDK >> is one of the best I have seen for NURBS manipulation, and maybe their >> OpenNURBS package, which is free, might be enough for your use. >>     > > Hello Sam, > > As stated on the Rhino's website, > > "openNURBS is an open source toolkit for reading and writing models in the 3DM format." > > It seems have not been designed to be used for manipulating NURBS itself. > I hope I'm wrong, because I have never actually made use of it. > > If you have experience playing with it, it would be appreciated > that you share with me. > > Is Rhino's SDK free? > > Thanks for your help. > B/Rgds > Max > > >   -- You are currently subscribed to cgal-discuss. To unsubscribe or access the archives, go to https://lists-sop.inria.fr/wws/info/cgal-discuss