stl模型布尔运算的代码实现(DIY)

本文介绍了如何使用(wsxdll)几何运算库进行STL模型的布尔运算,包括对STL和OBJ格式的模型进行操作。通过详细步骤展示了在VC++6.0环境下如何使用该库的函数wd0200_BlnOp,并提供了处理过程文件、保存运算结果和处理错误的代码示例。文章最后提到,虽然(wsxdll)库不免费,但作者提供基于提供的STL模型实例进行运算的服务。
摘要由CSDN通过智能技术生成

 stl模型布尔运算(DIY)

 

开发三维模型布尔运算的图形软件因其难度较大,具挑战性而激发了诸多有志者为之努力不懈,但也让许多尝试者怯步。本文推荐一款几何运算库,调用由(wsxdll)几何运算库(no free of charge)提供的库函数可以使开发三维模型布尔运算的图形软件变得相对容易一些。

◆(wsxdll)几何运算库可以提供具有如下功能的库函数

  ▲对(stl)格式和(Obj)格式的三维模型实施布尔运算。

  ▲∵对三维模型实施布尔运算时,需要对二维几何图形和三维几何体实施诸多的几何运算

∴(wsxdll)几何运算库中还包含了具备如下功能的库函数

▼对二维多边形实施布尔运算

▼三角剖分二维多边形

▼计算二个几何体的交线(环)

▼计算二个三角形的交线

▼用一个平面或曲面剖切一个几何体

  …………

◆如何使用wsxdll几何运算库的库函数wd0200_BlnOp(…)

  wsxdll库函数需在一个编程环境,如VC++,下使用。一份wsxdll几何运算库包含二个文件,(wsxdll.dll)和(wsxdll.lib)。下面以VC++6.0为例说明如何使用wsxdll几何运算库提供的布尔运算函数wd0200_BlnOp(…)。

 

选择File->New->Project,然后选择MFC AppWizard(exe),选择一个名字(如,Demo_wsxdll),然后按OK。选(Single Document),其余的一概选默认,最后选择Finish。这样,一个名为(Demo_wsxdll)的MFC工程就被创建好了。接下来就是给此(Demo_wsxdll) 工程加添界面菜单和编写代码。

▲把二个文件,(wsxdll.dll)和(wsxdll.lib),拷入到(Demo_wsxdll)文件夹中

    

 ▲创建一个下拉式菜单:Demo→BooleanOperation

    

   创建一个由菜单(Demo→Bln Op)触发的函数:void CDemo_wsxdllView::OnMenuitem_001()

    

▲加添以下代码,为编写函数OnMenuitem_001()的代码作铺垫

▼在文件(stdafx.h)的末尾加上

     #define c_Dim0154a       11//

#definec_Dim0154b       26//

#definec_Dim0106       200//

▼在文件(Demo_wsxdllView.cpp)头部加上

    #include <locale.h>

#include<fstream.h>//(盘录,装载)硬盘文件需此头文件

▼在文件(Demo_wsxdllView.cpp)中定义如下(4)个函数

    void CDemo_wsxdllDoc::Save_Path(CStringsPath_ck,CString sFileType_ck,CString sPath_stlModel)

{//【函数功能】

     CStringFileName=sPath_ck+"Path"+sFileType_ck;

     CStringstr_Line;//

     CStdioFileFile;

     File.Open(FileName,CFile::modeCreate| CFile::modeWrite | CFile::typeText);

 

 

     File.WriteString(sPath_ck);//行写字符串(sPath_ck)于(txt)目标文件(FileName),

                             //注:字符串(strLine)未带换行符('\n')

     File.WriteString("\n");//

 

     //

     File.WriteString(sFileType_ck);//行写字符串(sPath_ck)于(txt)目标文件(FileName),

                             //注:字符串(strLine)未带换行符('\n')

     File.WriteString("\n");//

 

     //

     File.WriteString(sPath_stlModel);//行写字符串(sPath_ck)于(txt)目标文件(FileName),

                             //注:字符串(strLine)未带换行符('\n')

     File.WriteString("\n");//

     //

     File.Close();//关闭源文件()

     // 

     return;//

}

 

 

 

CString CDemo_wsxdllDoc::f006_392i_IntToString(intValue)

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值