• 使用ObjectARX 2012向导生成的自定义实体类无法捕捉的问题解决方式


    使用ObjectARX 2012自定实体向导的时候,获取捕捉点的重写函数的向导中模板有点问题,

    C:Program Files (x86)AutodeskObjectARX 2012 WizardsArxWizCustomObjectTemplates1033

    在ArxWizCustomObject的模板中.object.h和.cpp原来是

    	virtual Acad::ErrorStatus subGetOsnapPoints (
    		AcDb::OsnapMode osnapMode,
    		int gsSelectionMark,
    		const AcGePoint3d &pickPoint,
    		const AcGePoint3d &lastPoint,
    		const AcGeMatrix3d &viewXform,
    		AcGePoint3dArray &snapPoints,
    		AcDbIntArray &geomIds) const ;
    	virtual Acad::ErrorStatus subGetOsnapPoints (
    		AcDb::OsnapMode osnapMode,
    		int gsSelectionMark,
    		const AcGePoint3d &pickPoint,
    		const AcGePoint3d &lastPoint,
    		const AcGeMatrix3d &viewXform,
    		AcGePoint3dArray &snapPoints,
    		AcDbIntArray &geomIds,
    		const AcGeMatrix3d &insertionMat) const ;
    

      其中的第二个参数的类型int gsSelectionMark,在ARX2008开始使用的是,简单修改Adesk::GsMarker gsSelectionMark,

    Acad::ErrorStatus [!output CLASS_NAME]::subGetOsnapPoints (
        AcDb::OsnapMode osnapMode,
        Adesk::GsMarker gsSelectionMark,
        const AcGePoint3d &pickPoint,
        const AcGePoint3d &lastPoint,
        const AcGeMatrix3d &viewXform,
        AcGePoint3dArray &snapPoints,
        AcDbIntArray &geomIds) const
    {
        assertReadEnabled () ;
        return ([!output BASE_CLASS]::subGetOsnapPoints (osnapMode, gsSelectionMark, pickPoint, lastPoint, viewXform, snapPoints, geomIds)) ;
    }
    
    Acad::ErrorStatus [!output CLASS_NAME]::subGetOsnapPoints (
        AcDb::OsnapMode osnapMode,
        Adesk::GsMarker gsSelectionMark,
        const AcGePoint3d &pickPoint,
        const AcGePoint3d &lastPoint,
        const AcGeMatrix3d &viewXform,
        AcGePoint3dArray &snapPoints,
        AcDbIntArray &geomIds,
        const AcGeMatrix3d &insertionMat) const
    {
        assertReadEnabled () ;
        return ([!output BASE_CLASS]::subGetOsnapPoints (osnapMode, gsSelectionMark, pickPoint, lastPoint, viewXform, snapPoints, geomIds, insertionMat)) ;
    }

    这样在ARX2008以上的版本就不会出现捕捉失效的问题.

  • 相关阅读:
    Web前端学习笔记之BootStrap
    js 闭包解决方案
    函数节流简要解析
    js 观察者模式
    arguments解析
    js 职责链模式简要介绍
    js 工厂模式简要介绍
    jsonp跨域总结
    算法复杂度
    正则表达式的$
  • 原文地址:https://www.cnblogs.com/edata/p/11267413.html
Copyright © 2020-2023  润新知