瑞昭月华 发表于 2014-5-6 16:53:00

用闭合多段线创建面域的问题

我先用了一个函数将闭合多段线转换成曲线指针数组复制代码这时将上面函数得到的geCurves指针数组传给面域创建函数复制代码但程序运行到createFromCurves(geCurves,regions);时CAD直接崩溃了。
我已经检查过前面程序得到的曲线指针数组geCurves 所有的线段是闭合的没问题,而文档里createFromCurves 函数描述了一个要求:
The objects in curveSegments(也就是这里的geCurves ) must be opened for read and not for write. If the objects are opened, calling this function will crash .
这里我也确定了我之前的多段线是处于read模式下而不是write,程序为什么还会崩溃呢?
求各位帮忙看下,弄了一天了,谢谢。

该贴已经同步到 **** Hidden Message *****

wowolwj 发表于 2014-5-15 17:25:00

几何类怎么会有open呢?
应该考虑用AcDbLine而不是AcGeLineSeg2d试试

瑞昭月华 发表于 2014-5-15 17:32:00


谢谢,这个问题我已经搞定了,但我现在有另一个问题,是关于用DXF组码创建缓冲区链表的,我想滤得某图层上指定线宽的实体,但线宽的组码值我不知道是什么,程序如下:
FilterOfFireComp = acutBuildList(RTDXF0,_T("LWPOLYLINE,POLYLINE,CIRCLE"), // 实体类型
                8,fireCompartmentName, //图层
                370,_T("kLnWtByLayer"), // BLAYER线宽         
                RTNONE); // 实体类型为多段线)
就上面的370行,370在DXF里是表示线宽的,但后面的值呢?我试过了BYLAYER和-1以及其它AcDb::LineWidth里面的值,都没有效果,请问是什么?

wowolwj 发表于 2014-5-19 13:49:00

多试试
前面加上4个空格试试
    -2 (Byblock)
    40 (0.40)
页: [1]
查看完整版本: 用闭合多段线创建面域的问题