乐筑天下

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

AutoCAD2010二次开发,自定直线时出错

[复制链接]

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2014-7-14 16:14:00 | 显示全部楼层 |阅读模式
这个是添加的代码
AcGePoint3d ptStart(0,0,0);
        AcGePoint3d ptEnd(200,200,0);
  AcDbLine  *pline=new AcDbLine(ptStart,ptEnd);
       AcDBlockTable  *pBlockTable;
    acdbHostApplicationServices()->workingDatabase()
     ->getBlockTable(pBlockTableRecord,AcDb::kForRead);
    AcDbBlockTableRecord  *pBlockTableRecord;
             pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord);
    AcDb::kForWrite);
    AxDbObjectId lineId;
    pBlockTableRecord->appendAcDbEntity(lineId,pLine);
    pBlockTable->close();
    PBlockTableRecord->close();
    pLine->close();
编译时是不是要添加头文件,怎样添加
编译时出现很多错误
1>e:\objecarx2010mulu\mydraw\mydraw\acrxentrypoint.cpp(77) : error C2059: 语法错误 : “)”
1>e:\objecarx2010mulu\mydraw\mydraw\acrxentrypoint.cpp(78) : error C2146: 语法错误 : 缺少“;”(在标识符“lineId”的前面)
1>e:\objecarx2010mulu\mydraw\mydraw\acrxentrypoint.cpp(78) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\objecarx2010mulu\mydraw\mydraw\acrxentrypoint.cpp(78) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\objecarx2010mulu\mydraw\mydraw\acrxentrypoint.cpp(79) : error C2143: 语法错误 : 缺少“;”(在“->”的前面)

vcf3yuc5dnw.png

vcf3yuc5dnw.png

该贴已经同步到

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

32

主题

268

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
396
发表于 2014-7-14 17:12:00 | 显示全部楼层
添加什么头文件?
编检查编译器定位的结果看看
再不行屏蔽这段代码看看
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2014-7-15 09:18:00 | 显示全部楼层

由于使用了AcDbLine 所以要添加dbent.h
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2014-7-15 09:19:00 | 显示全部楼层

这段代码就是来生成直线的啊. 如果屏蔽了,怎么生成呢
回复

使用道具 举报

32

主题

268

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
396
发表于 2014-7-15 14:45:00 | 显示全部楼层

什么问题?解决好了吗?分享一下吧
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2014-7-16 19:17:00 | 显示全部楼层
AcDbBlockTableRecord  *pBlockTableRecord;
             pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord);
    AcDb::kForWrite);
改一下AcDbBlockTableRecord  *pBlockTableRecord;
             pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord
    AcDb::kForWrite);
回复

使用道具 举报

32

主题

268

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
396
发表于 2014-7-16 20:09:00 | 显示全部楼层

真相帝
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2014-7-18 10:26:00 | 显示全部楼层

不好意思,我在提问的时候写错了,改成你说的还是那么多错误  我添加了dbents.h 提示这样的错误什么意思呢?
1>d:\objectarx开发包\objectarx2010\inc\acarray.h(137) : error C2857: 在源文件中没有找到用 /YcStdAfx.h dbents.h 命令行选项指定的“#include”语句
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2014-7-18 10:26:00 | 显示全部楼层

改成这样你成功了吗
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2014-7-21 15:26:00 | 显示全部楼层
AcGePoint3d ptStart(0,0,0);
                AcGePoint3d ptEnd(200,200,0);
                AcDbLine*  pline=new AcDbLine(ptStart,ptEnd);
                AcDbBlockTable  *pBlockTable;
                AcDbBlockTableRecord  *pBlockTableRecord;
                acdbHostApplicationServices()->workingDatabase()
                        ->getBlockTable(pBlockTable,AcDb::kForRead);
               
                pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
                AcDb::kForWrite);
                AcDbObjectId lineId;
                pBlockTableRecord->appendAcDbEntity(lineId,pline);
                pBlockTable->close();
                pBlockTableRecord->close();
                pline->close();
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 05:00 , Processed in 0.165127 second(s), 75 queries .

© 2020-2025 乐筑天下

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