乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 4

please help me!!!!!

[复制链接]

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2002-8-8 16:52:00 | 显示全部楼层 |阅读模式
各位大虾:
    请帮帮我!
    我怎么把我的选择集放入我的属性块定义中?
                                 谢谢
                                 victor
回复

使用道具 举报

16

主题

74

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
138
发表于 2002-8-8 17:39:00 | 显示全部楼层
AcDbBlockTable *pBlockTable;
    AcDbObjectId Id;
    double ht=5.0;
    acdbHostApplicationServices()->workingDatabase()
       ->getSymbolTable(pBlockTable, AcDb::kForWrite);//以写模式打开图块表
    AcDbBlockTableRecord *pBlockTableRecord=new AcDbBlockTableRecord;
        pBlockTableRecord->setName("表面粗糙度代号");
    pBlockTable->add(Id, pBlockTableRecord);//添加图块表记录
    pBlockTable->close();//关闭图块表
    AcDbLine* pLine1=new AcDbLine();//直线
    pLine1->setStartPoint(AcGePoint3d(0,0,0));
    pLine1->setEndPoint(AcGePoint3d(-sqrt(2.0)/2.0*ht,
        sqrt(6.0)/2.0*ht,0));
    AcDbLine* pLine2=new AcDbLine();//直线
    pLine2->setStartPoint(AcGePoint3d(0,0,0));
    pLine2->setEndPoint(AcGePoint3d(sqrt(2.0)*ht,sqrt(6.0)*ht,0));
    pBlockTableRecord->appendAcDbEntity(Id, pLine1);//添加实体返回ID
    pBlockTableRecord->appendAcDbEntity(Id, pLine2);//添加实体返回ID
    AcDbAttributeDefinition* pAttDef=new AcDbAttributeDefinition;
    pAttDef->setTag("表面粗糙度");
    pAttDef->setPrompt("请输入表面粗糙度的值:");
    pAttDef->setTextString("3.2");
    pAttDef->setPosition(AcGePoint3d(-sqrt(2.0)/2.0*ht,
         sqrt(6.0)/2.0*ht*1.3,0));
    pAttDef->setHeight(ht*0.8);
    pAttDef->setConstant(Adesk::kFalse);
    pAttDef->setInvisible(Adesk::kFalse);
    pAttDef->setPreset(Adesk::kFalse);
   
    pBlockTableRecord->appendAcDbEntity(Id, pAttDef);//添加实体返回ID
    pBlockTableRecord->close();//关闭图块表记录
    pLine1->close();//关闭实体
    pLine2->close();//关闭实体
    pAttDef->close();//关闭实体
回复

使用道具 举报

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2002-8-9 18:05:00 | 显示全部楼层
教师:
    你所说的我知道,但我现在想把我在CAD界面所选择的选择集放到我的属性块定义里边!而你是画一条直线放进去的。请在帮帮我!谢谢!!
回复

使用道具 举报

16

主题

74

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
138
发表于 2002-8-10 02:16:00 | 显示全部楼层
我知道,你是要把选择的实体加上属性。
这里有几个概念需要明白:
1。属性只能和块连用。
2。块:在图块表中有缺省的两个图块表纪录:模型空间(ACDB_MODEL_SPACE)和图纸空间(ACDB_PAPER_SPACE)。用户也可以自己创建新的图块表纪录,即块也相当于是在AutoCAD使用的Block命令。
所以,你只能这样做;
1。选择对象。
2。判断对象的类型,和几何参数。
3。在新的图块表纪录中添加上述对象和属性。
4。删除原对象。
回复

使用道具 举报

3

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2002-8-10 19:02:00 | 显示全部楼层
那你能不能把我这个程序编出来?不胜感激!老板催我!!!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 06:47 , Processed in 0.142890 second(s), 62 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表