• acdb类杂记


    从今天起我陆续贴给大家:
    AcApLayoutManager 类



    处理和访问AcDbLayout对象的应用程序特定程序的接口类。这个类也控制着与GUI属性相关的Layout(布局)。



    继承自

    AcDbLayoutManager



    包含文件

    acaplmgr.h



    参见

    AcDbLayout, AcDbLayoutManager



    成员



    AcApLayoutManager Application Methods (应用程序方法)



    AcApLayoutManager::CreateViewports函数
    virtual Adesk::Boolean
    createViewports() = 0;

    当在图纸空间布局里能默认建立一个视口时,这个函数返回kTrue,否则返回kFalse。



    AcApLayoutManager::findActiveTab函数

    virtual const char *
    findActiveTab() = 0;

    这个函数返回一个指向当前选定布局标签的名称的指针常量,这个名称就是当前AcDbLayout对象的名称。



    AcApLayoutManager::getClipBoundaryElaboration函数
    virtual Acad::ErrorStatus
    getClipBoundaryElaboration(
    AcDbObjectId clipId,
    AcGePoint2dArray *& clipBoundary) = 0;

    clipId
    传递非矩形裁剪实体视口的AcDbObjectId

    clipBoundary
    返回指向裁剪实体视口的AcGePoint2dArray边界点的指针


    这个函数取得一个非矩形裁剪实体视口的AcDbObjectId并在一个AcGePoint2dArray对象数组中返回屏幕上的边界点。边界点在图纸空 间图形坐标中。如果在显示列表中找到一个边界且成功返回,则返回值为eOK,调用者必须在使用后删除已返回的clipBoundary。如果找不到实体的 边界,则返回错误状态。如果应用程序打开的要求有边界的AcDbViewport,则clipId参数将传递给视口的 AcDbViewport::nonRectClipEntityId()方法,这个方法将返回视口裁剪实体的AcDbObjectId。



    AcApLayoutManager::getNextNewLayoutName函数
    virtual char *
    getNextNewLayoutName(
    AcDbDatabase* useDb = NULL) = 0;

    useDb
    输入指向AcDbDatabase的指针,可选的;默认使用当前数据库


    这个函数扫描名称与"Layout#"类型相匹配的已有的布局(包含已删除的布局),其中“#”是一个从1开始的数。这个函数从“Layout1”开始,试图找出未在这个格式中使用的布局类型,并返回该布局类型。



    AcApLayoutManager::pageSetup函数
    virtual int
    pageSetup(
    AcDbObjectId layoutBTRId = AcDbObjectId::kNull,
    void* pParent = NULL,
    Adesk::Boolean isPageSetupDlg = TRUE) = 0;

    layoutBTRId
    输入AcDbLayout块表记录用于初始化对话框的AcDbObjectId,可选的;默认值AcDbObjectId::kNull表示使用活动的AcDbLayout对象。

    pParent
    输入指向父窗口调用对话框的指针,可选的;默认值NULL表示使用AutoCAD的主窗口。

    isPageSetupDlg
    输入布尔值,在页面设置和绘图对话框之间进行切换。


    在默认情况下,这个函数使用当前的AcDbLayout对象加载“页面设置”对话框。另外可选的,这个函数使用一个不同的AcDbLayout对象、一个指向父窗口的指针以及表示是否使用共享的绘图对话框代替“页面设置”对话框的布尔值作为参数进行初始化。

    如果“页面设置”对话框被取消,则这个函数返回0;如果“页面设置”对话框成功,则这个函数返回1;在任何错误的情况下,返回-1。



    AcApLayoutManager::pointInViewports函数
    virtual Acad::ErrorStatus
    pointInViewports(
    const AcGePoint3d & pickPt,
    AcDbObjectIdArray & viewports) = 0;

    pickPt
    传递在世界坐标系下图纸空间的选择点。

    viewports
    返回指向要返回的AcDbViewport实体的Ids 的AcDbObjectIdArray的指针。


    这个函数传递在图纸空间的选择点,并返回一个表,表是以覆盖每个选取点的AcDbViewport,包括非矩形视口的AcDbObjectId实体的 AcDbObjectIdArray的形式返回。如果每个视口在该点重迭,那么将返回所有的视口,但是如果用户双击该点,则将选中在阵列中的第一个 AcDbViewport的ID的视口。图纸空间视口将不会包含在阵列中。如果没有视口含有该点,则返回ePointNotOnEntity,且不会建立 AcDbObjectIdArray。如果至少有一个视口包含该点,则返回eOK。用户必须在完成后删除返回的AcDbObjectIdArray。这个 函数使应用程序可简易地判断一个给定点是否在非矩形(裁剪的)视口内。



    AcApLayoutManager::setCreateViewports函数
    virtual void
    setCreateViewports(
    Adesk::Boolean createViewports) = 0;

    createViewports
    输入的布尔值;表示视口是否默认地在初始入口创建至图纸空间中


    这个函数确定一个视口是否默认地在初始入口创建至图纸空间布局中。



    AcApLayoutManager::setDefaultPlotConfig函数
    virtual void
    setDefaultPlotConfig(
    AcDbObjectId layoutBTRId) = 0;

    layoutBTRId
    输入用于初始化的AcDbLayout对象的AcDbobjectId。


    这个函数用适当的默认值初始化给定的AcDbLayout对象。



    AcApLayoutManager::setShowPageSetup函数
    virtual void
    setShowPageSetup(
    Adesk::Boolean showPageSetupDlg) = 0;

    showPageSetupDlg
    输入布尔值,“页面设置”对话框是否在默认的入口加载至图纸空间布局标签中。


    这个函数设置“页面设置”对话框是否在默认的入口加载至图纸空间布局标签中。



    AcApLayoutManager::setShowPaperBackground函数
    virtual void
    setShowPaperBackground(
    Adesk::Boolean showPaperBackground) = 0;

    showPaperBackground
    输入布尔值,表示是否显示图纸背景。


    这个函数设置是否显示当前或活动的AcDbLayout对象的图纸背景。kTrue值设定显示图纸背景;kFalse值设定不显示图纸背景。



    AcApLayoutManager::setShowPaperMargins函数
    virtual void
    setShowPaperMargins(
    Adesk::Boolean showPaperMargins) = 0;

    showPaperMargins
    输入的布尔值;表示是否显示图纸边缘。


    这个函数设置是否显示当前或活动的AcDbLayout对象的可打印区域或图纸边缘(虚线围成的矩形)。kTrue值表示显示图纸边缘;kFalse值表示不显示图纸边缘。



    AcApLayoutManager::setShowPrintBorder函数
    virtual void
    setShowPrintBorder(
    Adesk::Boolean showPrintBorder) = 0;

    showPrintBorder
    输入的布尔值;表示是否显示打印边界线。


    这个函数设置是否显示当前或活动的AcDbLayout对象的打印边界线(图纸边界线)。kTrue值表示显示打印边界线;kFalse值表示不显示打印边界线。



    AcApLayoutManager::setShowTabs函数

    virtual void
    setShowTabs(
    Adesk::Boolean showTabs) = 0;

    showTabs
    输入的布尔值;表示是否显示布局标签。


    这个函数设置是否显示布局标签。kTrue值表示显示布局标签;kFalse值表示不显示布局标签。



    AcApLayoutManager::showPageSetup函数
    virtual Adesk::Boolean
    showPageSetup() = 0;

    这个函数返回是否“页面设置”对话框自动地在初始入口加载至一个图纸空间布局中。返回1表示加载;返回0表示不加载。



    AcApLayoutManager::showPaperBackground函数
    virtual Adesk::Boolean
    showPaperBackground() = 0;

    这个函数返回当前的AcDbLayout对象的图纸背景是否可见。返回1表示可见;返回0表示不可见。



    AcApLayoutManager::showPaperMargins函数
    virtual Adesk::Boolean
    showPaperMargins() = 0;

    这个函数返回当前的AcDbLayout对象的图纸标签是否可见。返回1表示可见;返回0表示不可见。



    AcApLayoutManager::showPrintBorder函数
    virtual Adesk::Boolean
    showPrintBorder() = 0;

    这个函数返回当前的AcDbLayout对象的打印边界线是否可见。返回1表示可见;返回0表示不可见。



    AcApLayoutManager::showTabs函数
    virtual Adesk::Boolean
    showTabs() = 0;

    这个函数返回布局标签是否可见。返回1表示可见;返回0表示不可见。



    AcApLayoutManager::updateCurrentPaper函数

    virtual void
    updateCurrentPaper(
    Adesk::Boolean zoomToPaper = FALSE) = 0;

    zoomToPaper
    输入布尔值,可选的;决定是否在重生视图后zoom(缩放)至当前图纸图像的边界。


    这个函数更新图纸空间的图纸图像以反映活动的AcDbLayout对象的当前状态。可选地,传递kTrue值将表示将传入执行zoom(缩放)命令来改变视点以扩展图纸映象的边界。



    AcApLayoutManager::updateLayoutTabs函数
    virtual void
    updateLayoutTabs() = 0;

    这个函数重生布局标签来将它们更新至它们表示的AcDbLayout对象的当前状态。
     

    AcDbArc类
    AcDbArc类表示AutoCAD中的弧实体。
    继承自
    AcDbCurve
    包含文件
    dbents.h
    参见
    AcDbObject, AcDbEntity, AcGePoint3d, AcGeVector3d
    成员
    AcDbArc建构器和析构器
    AcDbArc::~AcDbArc 函数
    ~AcDbArc();
    析构器。
    AcDbArc::AcDbArc 函数
    AcDbArc(
    const AcGePoint3d& center,
    double radius,
    double startAngle,
    double endAngle);
    center
    输入弧的中点
    radius
    输入弧的半径
    startAngle
    输入弧的开始角
    endAngle
    输入弧的终止角个建构器使用传递的值创建一个弧。center必须在WCS坐标中。弧使用(0,0,1)作为法向矢量和0.0作为厚度初始化。
    --------------------------------------------------------------------------------

    AcDbArc(
    const AcGePoint3d& center,
    const AcGeVector3d& normal,
    double radius,
    double startAngle,
    double endAngle);
    center
    输入弧的中点
    normal
    输入包含弧的平面的法向矢量
    radius
    输入弧的半径
    startAngle
    输入弧的开始角
    endAngle
    输入弧的终止角

    这个建构器使用传递的值创建一个弧。center必须在WCS坐标中。弧使用0.0作为厚度初始化。
    --------------------------------------------------------------------------------
    AcDbArc();
    默认建构器。初始化将法向矢量初始化为(0,0,1),中点初始化为(0,0,0),
    半径、开始角、终止角初始化为0.0。在第一次关闭弧之间,半径需要改变为一个非零值。中点和法向矢量必须在WCS坐标中。
    AcDbArc编辑函数
    AcDbArc::setCenter 函数
    Acad::ErrorStatus
    setCenter(
    const AcGePoint3d& center);
    center
    输入弧的中点

    此函数设置center为弧的中心。Center必须在WCS坐标中。

    中点值对应于DXF群组码10的WCS值。

    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc::setEndAngle 函数
    Acad::ErrorStatus
    setEndAngle(
    double endAngle);
    endAngle
    输入弧的终止角(弧度)
    此函数设置endAngle为弧的终止角。endAngle必须为弧度。角度相对于弧的OCS的X轴,
    如视线沿Z轴指向原点则正角度方向为逆时针。OCS的X轴使用弧的法向矢量、WCS的Z轴,以及任意的轴运算法则确定。

    如果角度为负值,则弧仍以逆时针绘出,但从相反的方向度量。例如,4.7124弧度(270度)的弧与-1.5708弧度(-90度)相等。

    终止角对应DXF群组码51。

    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc::setNormal 函数

    Acad::ErrorStatus

    setNormal(

    const AcGeVector3d& normal);

    normal
    输入弧的法向矢量


    此函数设置normal指向包含弧的平面的法向矢量。normal必须在WCS坐标中且必须为非零长度。

    法向矢量值对应DXF群组码210。

    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc::setRadius 函数
    Acad::ErrorStatus
    setRadius(
    double radius);
    radius
    输入弧的半径
    此函数设置radius为弧的半径。Radius必须大于0。
    半径值对应DXF群组码40。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc::setStartAngle 函数
    Acad::ErrorStatus
    setStartAngle(
    double startAngle);
    startAngle
    输入弧的开始角(弧度)
    此函数设置startAngle为弧的终止角。startAngle必须为弧度。角度相对于弧的OCS的X轴,如视线沿Z轴指向原点则正角度方向为逆时针。OCS的X轴使用弧的法向矢量、WCS的Z轴,以及任意的轴运算法则确定。
    如果角度为负值,则弧仍以逆时针绘出,但从相反的方向度量。例如,4.7124弧度(270度)的弧与-1.5708弧度(-90度)相等。
    开始角对应DXF群组码50。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc::setThickness 函数
    Acad::ErrorStatus
    setThickness(
    double thickness);
    thickness
    输入弧的厚度
    此函数设置thickness 为弧的厚度。厚度是弧沿它法向矢量方向(有些称为拉伸方向)的标注。
    厚度值对应DXF群组码39。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbArc杂项函数
    AcDbArc::getClassID 函数
    virtual Acad::ErrorStatus
    getClassID(
    CLSID* pClsid) const;
    pClsid
    未说明
    Description to come。
    AcDbArc::getTransformedCopy 函数
    DBCURVE_METHODS Acad::ErrorStatus
    getTransformedCopy(
    const AcGeMatrix3d& xform,
    AcDbEntity*& ent) const;
    xform
    未说明
    ent
    未说明
    Description to come。
    AcDbArc查询函数
    AcDbArc::center 函数
    AcGePoint3d
    center() const;
    此函数返回弧在WCS坐标中的中点。
    中点值对应于DXF群组码10的WCS值。
    AcDbArc::endAngle 函数
    double
    endAngle() const;
    此函数返回弧的终止角的弧度。角度相对于弧的OCS的X轴,
    如视线沿Z轴指向原点则正角度方向为逆时针。OCS的X轴使用弧的法向矢量、
    WCS的Z轴,以及任意的轴运算法则确定。
    终止角对应DXF群组码51。
    AcDbArc::normal 函数
    AcGeVector3d
    normal() const;
    此函数在WCS坐标中返回弧的单位法向矢量。normal必须在WCS坐标中且必须为非零长度。
    法向矢量值对应DXF群组码210。
    AcDbArc::radius 函数
    double
    radius() const;
    此函数返回弧的半径。
    半径值对应DXF群组码40。
    AcDbArc::startAngle 函数
    double
    startAngle() const;
    此函数以弧度返回弧的终止角。角度相对于弧的OCS的X轴,如视线沿Z轴指向原点则正角度方向为逆时针
    。OCS的X轴使用弧的法向矢量、WCS的Z轴,以及任意的轴运算法则确定。
    开始角对应DXF群组码50。
    AcDbArc::thickness 函数
    double
    thickness() const;
    此函数返回弧的厚度。厚度是弧沿它法向矢量方向(有些称为拉伸方向)的标注。
    厚度值对应DXF群组码39。

    AcDbFilter类
    此类定义了一个“查询”。这提供了AcDbCompositeFilteredBlockIterator的关键字,与AcDbCompositeFilteredBlockIterator相关的索引通过indexClass()方法取得。
    AcDbSpatialFilter::indexClass()方法将返回AcDbSpatialIndex::desc()。
    需要提供它们自己的索引方式的应用程序需要提供以下三个类的版本:
    AcDbIndex
    AcDbFilter
    AcDbFilteredBlockIterator
    继承自
    AcDbObject
    包含文件
    dbfilter.h
    参见
    AcDbIndexFilterManager, AcDbIndex
    成员
    AcDbFilter建构器和析构器
    AcDbFilter::~AcDbFilter 函数
    virtual
    ~AcDbFilter();
    析构器。
    AcDbFilter::AcDbFilter 函数
    AcDbFilter();
    默认建构器。
    AcDbFilter函数
    AcDbFilter::indexClass 函数
    virtual AcRxClass *
    indexClass() const;
    此函数用于AcDbCompositeFilteredBlockIterator的init()方法中。
    例如,如果过滤在裁剪的xref的图形的重生以建立索引遍历
    器定义过程中过滤生效,则此函数于内部使用。
    返回此过滤器的AcDbIndex的类描述符。

    AcDbRasterImage类
    AcDbRasterImage实体(或“图像实体”)与AcDbRasterImageDef对象(或“图像定义对象”)一起使用,

    以处理AutoCAD中的光栅图像。这两个类之间的关系就象一个AutoCAD块定义对象和一个块插入实体之间的关系。
    以下的OMT图表示了图像对象模型的结构。
    AutoCAD图像对象模型
    图像实体是一个可绘的、可选择的AutoCAD实体,以一个特定点和方向将一个光栅图像放置在模型或图纸空间中。
    图像实体链接至一个图像定义对象,并将显示和绘出图像的需要的图像处理操作的请求送至这个对象。因为图像定义对象管理所有图像信息,所有图像实体相对较 小。除了图像位置和方向外,它还包括一个裁剪区域、图像淡出、对比度和亮度参数以其他的典型的AcDbEntity属性如层和颜色。
    两个或更多的图像实体可被链接至一个图像定义实体。因为每个图像实体都有自己的裁剪区域,
    所以这是一个在图形中不同的位置显示一个光栅图像的不同区域的有效的方法。
    AcDbRasterImage实体有时必须在两个坐标系统之间转换:AcDbEntities的3D模型坐标和
    AcDbRasterImageDef的2D像素坐标。为了这个目的,图像实体包含一个在3D世界坐标中
    指定的平面边界矩形,描述了它在空间中的原始图形的边界。有几个API函数可用于在像素和模型坐标之间进行转换。
    图像定义对象与块定义一样在“幕后”工作,储存至源图像文件的链接并管理用于显示和
    绘图的底层图像处理。图像定义对象储存在一个特殊的名为ISM_RASTER_IMAGE_DICT的AcDbDictionary中。
    这些对象不是AutoCAD实体,因此它们不能被显示或直接由最终用户选择。它们只处理2D像素坐标,
    因此所有图像处理请求必须表示为2D操作。
    图像处理操作如缩放和旋转图形用于显示是由Autodesk的图像引擎执行。图像引擎有
    自己众多的开发人员的API,在其上可建立复杂的图像处理的应用程序。(Autodesk图像
    引擎的信息可通过Autodesk开发人员程序取得)。
    链接至ism.lib
    AcDbRasterVariables类在一个ObjectARX应用程序中调用ism.arx执行。应用程序必须
    链接至ObjectARX API库ism.lib以使用针对此类的任何方法。
    注意:此类上的AcDbObject可被访问而无需链接至ism.lib。只须简单地将对象的指针
    (例如,acdbOpenObject返回的)转换为AcDbObject类。
    作为复合实体的AcDbRasterImage
    AcDbRasterImage实体不能被自己使用。它必须链接至一个AcDbRasterImageDef对象,
    通过调用AcDbRasterImage::setImageDefId显示图像。而且,必须建构一个AcDbRasterImageDefReactor并链接至AcDbRasterImage实体和AcDbRasterImageDef对象。
    (显示如何创建和链接AcDbRasterImage, AcDbRasterImageDef和AcDbRasterImageDefReactor
    的范例代码在ObjectARX开发包的samplesism文件夹下)。
    库文件
    ism.lib
    继承自
    AcDbImage
    包含文件
    imgent.h
    参见
    AcDbObject, AcDbEntity, AcDbImage, AcDbRasterImageDef, AcDbRasterImageDefReactor,
    AcDbRasterVariables, Image Support Module Overview
    成员
    AcDbRasterImage和AcDbRasterImageDef链接函数
    AcDbRasterImage::imageDefId 函数
    virtual AcDbObjectId
    imageDefId() const;
    未公布
    AcDbRasterImage::reactorId 函数
    virtual AcDbObjectId
    reactorId() const;
    未公布
    AcDbRasterImage::setImageDefId 函数
    virtual Acad::ErrorStatus
    setImageDefId(
    AcDbObjectId imageId);
    imageId 未公布
    未公布
    AcDbRasterImage::setReactorId 函数
    virtual void
    setReactorId(
    AcDbObjectId reactorId);
    reactorId 未公布
    未公布

    AcDbText类
    AcDbText类表示AutoCAD中的TEXT实体。
    继承自
    AcDbEntity
    包含文件
    dbents.h
    参见
    AcDbObject, AcDbAttribute, AcDbAttributeDefinition, AcDbShape, AcGePoint3d, AcGeVector3d
    成员
    AcDbText建构器和析构器
    AcDbText::~AcDbText 函数
    ~AcDbText();
    析构器。
    AcDbText::AcDbText 函数
    AcDbText(
    const AcGePoint3d& position,
    const char* text,
    AcDbObjectId style = AcDbObjectId::kNull,
    double height = 0,
    double rotation = 0);
    position 输入文本插入点
    text 输入文本字符串
    style 输入要使用的AcDbTextStyleTableRecord的对象ID
    height 输入形的高度
    rotation 输入旋转角
    此建构器初始化文本实体。

    AcDbLine类
    AcDbLine类表示AutoCAD中的线实体。一个线对象是由它的开始点,终止点和法向矢量指定的一个3D对象。另外,线对象支持沿其法向矢量方向的厚度(即,高度或“拉伸”)。
    继承自
    AcDbCurve
    包含文件
    dbents.h
    参见
    AcDbObject, AcDbEntity, AcGePoint3d, AcGeVector3d
    成员
    AcDbLine建构器和析构器
    AcDbLine::~AcDbLine 函数
    ~AcDbLine();
    建构器。
    AcDbLine::AcDbLine 函数
    AcDbLine(
    const AcGePoint3d& start,
    const AcGePoint3d& end);
    start
    输入线的起点(WCS坐标中)
    end
    输入线的终点(WCS坐标中)
    此建构器初始化线对象使用start作为起点,以end作为终点。两个点都必须在WCS坐标中。
    AcDbLine();
    默认建构器。初始化法向矢量为(0,0,1),起点和终点为(0,0,0),厚度为0.0。所有坐标必须在WCS中。
    AcDbLine编辑函数
    AcDbLine::setEndPoint 函数
    Acad::ErrorStatus
    setEndPoint(
    const AcGePoint3d& endPt);
    endPt
    输入作为线的终点的一个WCS点
    将endPt设为线的新终点。endPt必须在WCS坐标中。
    终点值对应DXF群组码11。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbLine::setNormal 函数
    Acad::ErrorStatus
    setNormal(
    const AcGeVector3d& normal);
    normal
    输入作为线的法向矢量的的一个WCS矢量
    将normal设为线的法向矢量。normal必须在WCS坐标中。
    法向矢量对应DXF群组码210。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbLine::setStartPoint 函数
    Acad::ErrorStatus
    setStartPoint(
    const AcGePoint3d& startPt);
    startPt
    输入作为线的终点的一个WCS点
    将startPt设为线的新起点。startPt必须在WCS坐标中。
    起点值对应DXF群组码10。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。
    AcDbLine::setThickness 函数
    Acad::ErrorStatus
    setThickness(
    double thickness);
    thickness
    输入线的新的厚度值
    将thickness设为线的厚度值。厚度值是线沿其法向矢量方向(有时也称为拉伸方向)的长度。
    厚度值对应DXF群组码39。
    如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。

    AcDbLine其他函数
    AcDbLine::getClassID 函数

    virtual Acad::ErrorStatus

    getClassID(

    CLSID* pClsid) const;

    AcDbLine::getOffsetCurvesGivenPlaneNormal 函数
    Acad::ErrorStatus
    getOffsetCurvesGivenPlaneNormal(
    const AcGeVector3d& normal,
    double offsetDist,
    AcDbVoidPtrArray& offsetCurves) const;
    AcDbLine::getTransformedCopy 函数
    DBCURVE_METHODS Acad::ErrorStatus
    getTransformedCopy(

    const AcGeMatrix3d& xform,

    AcDbEntity*& ent) const;

    AcDbLine查询函数
    AcDbLine::endPoint 函数
    AcGePoint3d
    endPoint() const;
    此函数在WCS坐标中返回线的终点。
    终点值对象DXF群组码11。
    AcDbLine::normal 函数
    AcGeVector3d
    normal() const;
    此函数在WCS坐标中返回线的单位法向矢量。
    法向矢量值对应DXF群组码210。
    AcDbLine::startPoint 函数
    AcGePoint3d
    startPoint() const;
    此函数在WCS坐标中返回线的起点。
    起点值对应DXF群组码10。
    AcDbLine::thickness 函数
    double
    thickness() const;
    此函数返回线的厚度值。厚度值是线沿其法向矢量方向(有时也称为拉伸方向)的长度。
    厚度值对应DXF群组码39。

    AcDbSpline类
    此类执行对AutoCAD的SPLINE实体进行操作。
    AcDbSpline类的对象使用一个内嵌的gelib对象储存实际的样条曲线信息。样条曲线自身可是一条通过“拟合点”集的简单的曲线拟合(指定的误差 可能为0),或是一条NURBS样条曲线(即,用于定义样条曲线路径的一个控制点、节点和权值的集合)。在内部,一个曲线拟合的样条曲线仍有NURBS数 据,然而反过来则不正确。
    以下的书是样条曲线知识的基础:
    Curves and Surfaces for CAGD by Gerald Farin
    Mathematical Elements for Computer Graphics by David Rogers and Alan Adams
    An Introduction To Splines For Use In Computer Graphics & Geometric Modeling by Richard H. Bartels, John C. Beatty, and Brian A Barsky
    继承自
    AcDbCurve
    包含文件
    dbspline.h
    提示

    AcDbSpline类提供函数查询和设置一条曲线拟合的样条曲线和一个函数集合用于查询和设置一条NURBS样条曲线。不建议在一条NURBS样条曲线 上调用曲线拟合函数或在一条曲线拟合的样条曲线上调用NURBS函数。这将可能导致无效的数据或更坏的情况发生。 AcDbSpline::hasFitData()方法可用于确定处理的样条曲线的类型。

    使用一个连续序列的相同控制点创建一条NURBS样条曲线将导致一条不可用的样条曲线,因为连续性的问题。
    AcDbSpline建构器和析构器
    AcDbSpline::~AcDbSpline 函数
    virtual
    ~AcDbSpline();
    析构器。
    AcDbSpline::AcDbSpline 函数
    AcDbSpline(
    const AcGePoint3dArray& points,
    int order = 4,
    double fitTolerance = 0.0);
    AcDbSpline(
    const AcGePoint3dArray& points,
    const AcGeVector3d& startTangent,
    const AcGeVector3d& endTangent,
    int order = 4,
    double fitTolerance = 0.0);
    AcDbSpline(
    int degree,
    Adesk::Boolean rational,
    Adesk::Boolean closed,
    Adesk::Boolean periodic,
    const AcGePoint3dArray& controlPoints,
    const AcGeDoubleArray& knots,
    const AcGeDoubleArray& weights,
    double controlPtTol = 0.0,
    double knotTol = 0.0);
    AcDbSpline(
    const AcGePoint3d& center,
    const AcGeVector3d& unitNormal,
    const AcGeVector3d& majorAxis,
    double radiusRatio,
    double startAngle = 0.0,
    double endAngle = 6.28318530717958647692);
    AcDbSpline();
    默认建构器。

    AcDbEllipse类
    此类表示AutoCAD中的椭圆实体。它包含了创建、修改了获取椭圆属性的方法。
    继承自
    AcDbCurve
    包含文件
    dbelipse.h
    参见
    AcDbEntity, AcGePoint3d, AcGeVector3d
    成员
    AcDbEllipse建构器和析构器
    AcDbEllipse::~AcDbEllipse 函数
    virtual
    ~AcDbEllipse();
    析构器。
    AcDbEllipse::AcDbEllipse 函数
    AcDbEllipse(
    const AcGePoint3d& center,
    const AcGeVector3d& unitNormal,
    const AcGeVector3d& majorAxis,
    double radiusRatio,
    double startAngle = 0.0,
    double endAngle = 6.28318530717958647692);
    center
    输入椭圆的中点
    unitNormal
    输入指定法向矢量的矢量。这确定了椭圆的平面。
    majorAxis
    输入表示椭圆1/2主轴的矢量
    radiusRatio
    输入长轴对短轴的比
    startAngle
    输入椭圆的起始角(弧度)
    endAngle
    输入椭圆的终止角(弧度)
    这个建构器使用传递的值创建一个椭圆。center、unitNormal和majorAxis用于计算起始点。majorAxis矢量表示椭圆的主轴的 一半(即,从中点至椭圆的起始点),而且还是startAngle和endAngle的零度角。如果视线从法向矢量向下,则正角度为逆时针(即,右手定 则)。startAngle为0且endAngle为2pi将生成一个封闭的椭圆。
    radiusRatio必须在1E-6至1.0范围内。
    unitNormal与自身的点积及majorAxis与自身的点积必须大于1E-12。
    majorAxis必须垂直于1E-6以内法向矢量 must perpendicular to normal within.
    startAngle与endAngle差必须大于1E-6。
    如果任何对参数的要求不能满足,则椭圆的gelib对象不会创建且此建构器将与默认的建构器一样工作(即,传递的值将不被使用且椭圆的数据查询方法将返回无效值)。
    AcDbEllipse::isNull()方法可用于确定此建构器是否成功地使用传递的值初始化椭圆。如果isNull()返回Adesk::kFalse,则初始化成功。
    AcDbEllipse();
    此类的默认建构器。初始化XY平面上的圆的半径为1,圆心为(0,0,0)。
    AcDbEllipse编辑函数
    AcDbEllipse::set 函数
    Acad::ErrorStatus
    set(
    const AcGePoint3d& center,
    const AcGeVector3d& unitNormal,
    const AcGeVector3d& majorAxis,
    double radiusRatio,
    double startAngle = 0.0,
    double endAngle = 6.28318530717958647692);
    center
    输入椭圆的中点(WCS坐标中)
    unitNormal
    输入法向矢量(WCS坐标中),其定义了椭圆所在的平面
    majorAxis
    输入椭圆的长轴(WCS坐标中)
    radiusRatio
    输入需要的长轴与短轴之比
    startAngle
    输入椭圆的起始角(弧度)
    endAngle
    输入椭圆的终止角(弧度)
    此函数使用参数中的指定值设置椭圆的属性。
    center、unitNormal和majorAxis用于计算起始点。majorAxis矢量表示椭圆的主轴的一半(即,从中点至椭圆的起始点),而 且还是startAngle和endAngle的零度角。如果视线从法向矢量向下,则正角度为逆时针(即,右手定则)。startAngle为0且 endAngle为2pi将生成一个封闭的椭圆。
    radiusRatio必须在1E-6至1.0范围内。
    unitNormal与自身的点积及majorAxis与自身的点积必须大于1E-12。
    majorAxis必须垂直于1E-6以内法向矢量 must perpendicular to normal within.
    startAngle与endAngle差必须大于1E-6。
    如果成功返回Acad::eOk。
    如果有任何参数不能满足,则此方法失败且返回Acad::eGeneralModelingFailure。
    AcDbEllipse::setCenter 函数
    Acad::ErrorStatus
    setCenter(
    const AcGePoint3d& center);
    center
    输入椭圆的新的中点
    设置center(WCS坐标中)为椭圆的中点。
    如果成功返回Acad::eOk。否则返回Acad::eGeneralModelingFailure。
    AcDbEllipse::setEndAngle 函数
    Acad::ErrorStatus
    setEndAngle(
    double endAngle);
    endAngle
    输入椭圆的新的终止角度(弧度)
    设置endAngle为椭圆的终止角度。
    如果成功返回Acad::eOk。
    如果椭圆没有任何gelib对象(即,AcDbEllipse::isNull()返回Adesk::kTrue),则返回Acad::eDegenerateGeometry。
    AcDbEllipse::setEndParam 函数
    Acad::ErrorStatus
    setEndParam(
    double endParam);
    endParam
    输入椭圆新的终止参数
    设置endParam为椭圆的新的终止参数。如果endParam小于当前的开始参数,则以2pi为步距增加直至大于当前的开始参数。
    如果成功返回Acad::eOk。
    如果椭圆没有任何gelib对象(即,AcDbEllipse::isNull()返回Adesk::kTrue),则返回Acad::eDegenerateGeometry。
    AcDbEllipse::setRadiusRatio 函数
    Acad::ErrorStatus
    setRadiusRatio(
    double ratio);
    ratio
    输入椭圆长径与短径比
    设置ratio为椭圆的新的长短径比。Ratio必须在1e-6和1.0之间。
    如果成功返回Acad::eOk。
    如果椭圆没有任何gelib对象(即,AcDbEllipse::isNull()返回Adesk::kTrue),则返回Acad::eDegenerateGeometry。
    AcDbEllipse::setStartAngle 函数
    Acad::ErrorStatus
    setStartAngle(
    double startAngle);
    startAngle
    输入椭圆的新的开始角度(弧度)
    设置startAngle为椭圆的新的开始角度。
    如果成功返回Acad::eOk。
    如果椭圆没有任何gelib对象(即,AcDbEllipse::isNull()返回Adesk::kTrue),则返回Acad::eDegenerateGeometry。
    AcDbEllipse::setStartParam 函数
    Acad::ErrorStatus
    setStartParam(
    double startParam);
    startParam
    输入椭圆的新的开始参数
    设置startParam为椭圆的新的始参数。如果startParam大于当前终止参数,则以2pi为步距减小直至小于当前的终止参数。
    如果成功返回Acad::eOk,否则返回Acad::eGeneralModelingFailure。
    AcDbEllipse杂项函数
    AcDbEllipse::getClassID 函数
    virtual Acad::ErrorStatus
    getClassID(
    CLSID* pClsid) const;
    pClsid
    Description to com
    AcDbEllipse::getGripPoints 函数
    virtual DBCURVE_METHODS Acad::ErrorStatus
    getGripPoints(

    AcGePoint3dArray& gripPoints,

    AcDbIntArray& osnapMasks,

    AcDbIntArray& geomIds) const;

    Description to come。
    AcDbEllipse::getTransformedCopy 函数
    virtual Acad::ErrorStatus

    getTransformedCopy(

    const AcGeMatrix3d& xform,

    AcDbEntity*& ent) const;

    Description to come。

    AcDbEllipse::intersectWith 函数

    virtual Acad::ErrorStatus

    intersectWith(

    const AcDbEntity* ent,

    AcDb::Intersect intType,

    const AcGePlane& projPlane,

    AcGePoint3dArray& points,

    int thisGsMarker = 0,

    int otherGsMarker = 0) const;

    virtual Acad::ErrorStatus

    intersectWith(

    const AcDbEntity* ent,

    AcDb::Intersect intType,

    AcGePoint3dArray& points,

    int thisGsMarker = 0,

    int otherGsMarker = 0) const;

    Description to come。

  • 相关阅读:
    Javascript闭包(转)
    Codeigniter 控制器的继承问题
    ThinkPHP3.1 安全快速入门
    怎么在CI中引入外部的JS与CSS呢?
    Node.js学习笔记(一)
    PHP strstr() 字符串匹配函数
    include和require的区别(转)
    【原】把datagridview中的数据保存到txt文档中
    【转】09年.NET面试题
    【转】Developer Express 系列控件使用心得1
  • 原文地址:https://www.cnblogs.com/mjgw/p/12390607.html
Copyright © 2020-2023  润新知