几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(C++)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-16, 05:20 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】[求助]请帮帮忙

[求助]请帮帮忙
[求助]请帮帮忙
void onlable()
{
float rads[3];
int rest[3],integer[3],length[3];
for(int k=0;k<3;k++)
{
// return the angle in the xy plane of the current ucs, in radians.
rads[k]=acutangle(pt[k], pt[k+1]);
// return distance in 3d space.
length[k]=acutdistance(pt[k], pt[k+1]);
rest[k]=length[k]%100;//求余数
integer[k]=length[k]/100;//求每一段整100的个数
}
ads_point startpt[5000],endpt[5000];
for(int r=0;r<3;r++)
for(int j=0;j<3;j++)
{
acutpolar(pt[r], rads[r], 100*j, startpt[j]);
acutpolar(startpt[j],rads[r]+3.1415926/2,50,endpt[j]);
acdbline*pline=new acdbline(acgepoint3d(startpt[j][0],startpt[j][1],0),
acgepoint3d(endpt[j][0],endpt[j][1],0));
}
pline->setcolorindex(1);//红色
acdbblocktable *pblocktable;
acdbhostapplicationservices()->workingdatabase()->getsymboltable(pblocktable,acdb::kforread);
acdbblocktablerecord *pblocktablerecord;
pblocktable->getat(acdb_model_space,pblocktablerecord,acdb::kforwrite);
pblocktable->close();
acdbobjectid lineid;
pblocktablerecord->appendacdbentity(lineid,pline);
pblocktablerecord->close();
pline->close();
}
//ads_point pt[4] 为全局变量
e:\my doc\arx\forth\firstcommands.cpp(265) : error c2065: 'pline' : undeclared identifier
e:\my doc\arx\forth\firstcommands.cpp(265) : error c2227: left of '->setcolorindex' must point to class/struct/union
e:\my doc\arx\forth\firstcommands.cpp(274) : error c2227: left of '->close' must point to class/struct/union
error executing cl.exe.
first.arx - 3 error(s), 0 warning(s)
请各位高手帮帮忙,是点没转化好,还是acutpolar函数返回的值没有呢?
获赠明经币帖,共获得 0 个明经币
好好学习下c++, 括号放错位置了:
for(int j=0;j<3;j++)
{
acutpolar(pt[r], rads[r], 100*j, startpt[j]);
acutpolar(startpt[j],rads[r]+3.1415926/2,50,endpt[j]);
acdbline*pline=new acdbline(acgepoint3d(startpt[j][0],startpt[j][1],0),
acgepoint3d(endpt[j][0],endpt[j][1],0));
// }错误地方
pline->setcolorindex(1);//红色
acdbblocktable *pblocktable;
acdbhostapplicationservices()->workingdatabase()->getsymboltable(pblocktable,acdb::kforread);
acdbblocktablerecord *pblocktablerecord;
pblocktable->getat(acdb_model_space,pblocktablerecord,acdb::kforwrite);
pblocktable->close();
acdbobjectid lineid;
pblocktablerecord->appendacdbentity(lineid,pline);
pblocktablerecord->close();
pline->close();
}//正确地方
赠送楼主 0个明经币
非常感谢老牛~~
一直困扰了我很久啊~ 我还以为里面的函数用错了
赠送楼主 0个明经币
赠送楼主 0个明经币
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 05:23 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多