说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

菜鸟正在学习BCB5控制CAD,问题颇多,苦于缺乏资料,请大虾指点明径

编辑:说三道四文库 发布时间:2017-12-16 01:28
HTML文档下载 WORD文档下载 PDF文档下载
代码如下:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant cad,obj1,obj2,obj3;
Variant pt1,pt2,pt3,pt4;
double tmp;
pt1=VarArrayCreate(OPENARRAY(int,(0,2)),varDouble);
tmp=150.0;
pt1.PutElement(&tmp,0);
 tmp=150.0;
pt1.PutElement(&tmp,1);
tmp=0.0;
pt1.PutElement(&tmp,2);
 pt2=pt1;
 tmp=150.0-30.0;
  pt2.PutElement(&tmp,0);
tmp=150.0-15.0;
pt2.PutElement(&tmp,1);
   pt3=pt2;
   tmp=150.0+30.0;
  pt3.PutElement(&tmp,0);
     pt4=pt1;


  tmp=150.0-20.0;
   pt4.PutElement(&tmp,1);

    cad=GetActiveOleObject("AutoCAD.Application");
    obj1=cad.OleFunction("ActiveDocument");
    obj2=obj1.OleFunction("ModelSpace");
    obj2.OleProcedure("AddBox",VarArrayRef(pt1),60.0,30.0,15.0);
    obj3=obj2.OleFunction("AddDimAligned",VarArrayRef(pt2),VarArrayRef(pt3),VarArrayRef(pt4));
      obj3.OlePropertySet("Color",3);


}

整个代码编译没问题,运行中出现:
   vt == rhs.vt @ VARIANT.CPP/421
  Press [Y]es to termianate,[N]o to continue and [C]ancel to Debug
按下“否”三次时,CAD中可以看到完整结果,按下“是”后进入VARIANT.CPP文件,如何解决此问题
另:如何更改标注中字体高度(CAD帮助中提到TextString有\H方法改动字体高度,没有成功)
呵呵,你的问题在于不要使用VarArrayRef,
改成
    cad=GetActiveOleObject("AutoCAD.Application");
    obj1=cad.OleFunction("ActiveDocument");
    obj2=obj1.OleFunction("ModelSpace");
    obj2.OleProcedure("AddBox",pt1,60.0,30.0,15.0);
    obj3=obj2.OleFunction("AddDimAligned",pt2,pt3,pt4);
    obj3.OlePropertySet("Color",3);

标注字高,我查查看..
可不可以多加点分...:)
给100分吧。
你用R14吧。
字高修改方法如下:


void __fastcall TForm1::Button1Click(TObject *Sender)
{
//OLE命令缩写
#define  PG  OlePropertyGet
#define  PS  OlePropertySet
#define  FN  OleFunction
#define  PR  OleProcedure

Variant CadApp,ThisDrawing,ModelSpace,TextStyle,DimObj;
Variant pt1,pt2,pt3,pt4;

double tmp;
pt1=VarArrayCreate(OPENARRAY(int,(0,2)),varDouble);
pt2=VarArrayCreate(OPENARRAY(int,(0,2)),varDouble);
pt3=VarArrayCreate(OPENARRAY(int,(0,2)),varDouble);
pt4=VarArrayCreate(OPENARRAY(int,(0,2)),varDouble);


tmp=150.0;
pt1.PutElement(&tmp,0);
tmp=150.0;
pt1.PutElement(&tmp,1);
tmp=0.0;
pt1.PutElement(&tmp,2);

tmp=150.0-30.0;
pt2.PutElement(&tmp,0);
tmp=150.0-15.0;
pt2.PutElement(&tmp,1);
tmp=0.0;
pt2.PutElement(&tmp,2);


tmp=150.0+30.0;
pt3.PutElement(&tmp,0);
tmp=150.0-15.0;
pt3.PutElement(&tmp,1);
tmp=0.0;
pt3.PutElement(&tmp,2);

tmp=150.0+30.0;
pt4.PutElement(&tmp,0);
tmp=150.0-20.0;
pt4.PutElement(&tmp,1);
tmp=150.0-15.0;
pt4.PutElement(&tmp,2);



    CadApp=GetActiveOleObject("AutoCAD.Application");
    ThisDrawing=CadApp.PG("ActiveDocument");
    ModelSpace=ThisDrawing.PG("ModelSpace");



    ModelSpace.PR("AddBox",pt1,60.0,30.0,15.0);

    TextStyle=ThisDrawing.PG("ActiveTextStyle");
    TextStyle.PS("FontFile","Romans.shx");
    TextStyle.PS("Height",3);

    DimObj=ModelSpace.FN("AddDimAligned",pt2,pt3,pt4);
    DimObj.PS("Color",3);
    
    ThisDrawing.PG("ActiveViewport").PR("ZoomExtents");

}
cker(有空就玩票...甭活得忒累...)你真是高人,请问你有此类有关资料吗?
请给我一些资料,免得我三天两头提问,又要麻烦您老人家,
只要拿到有用资料,
100分-----------没问题!!!!!!!!!!!!!!!!!
(最好能告诉您的学习经验及方法)
厉害呀
高手?。。。。

CKER摔倒在键盘上 。。。。
资料就在CAD14的VBA帮助里面呀。
打开cad的帮助,什么都有。可惜都是关于VB的。
但动动脑子,问题都是可以解决的。:-)
好像您的问题,我也是打开14的帮助,然后在
AutoCAD的Automation Reference里面狂看了一通。
就找到解决之道了。

当然CKER是单位的首席CAD绘图高手。
又懂一点点BCB.....
我真的没有任何书籍在手.
CKER能不能告诉我你在那里工作
http://www.csdn.net/author/cker/
消灭Bug!十款免费移动应用测试框架推荐 协同软件供应商Atlassian推出JIRA服务台 振奋人心!iOS和Android版BBM应用首日下载量冲破1000万次 十款开源的数据库管理工具 360联合多家IDC成立“安全防黑联盟” 国内百万网站受益 腾讯云如何玩转手游数据分析 成都站免费抢票 直接拿来用!10款实用Android UI工具 第14届英特尔投资全球峰会 新投16个项目逐一看 2013中国Linux内核开发者大会亮点汇总 UnitedStack:用社区的方式做IT 手游狂潮:小团队如何提高游戏数据化运营效率? 2012年全美CEO收入榜:扎克伯格第一、库克第五、Marc Benioff第九 专访:InMobi全球CEO Naveen Tewari MDCC 2013精彩专题论坛之产品与设计 中关村大型IT人才招聘会举办 现场火爆 [简讯]新代码编辑器Lime发布 号称Sublime Text的开源实现 从真实案例出发:如何在协作开发中避免误解! Google工程师谈程序员的自我修养 依然很强大:微软第一财季净利润同比增17% MDCC 2013垂直行业应用与O2O专题论坛透露劲爆话题 专访豌豆荚产品设计团队:Design Hackathon是绞尽脑汁之后的海阔天空 首日报名爆满超300 向C++大师Lippman提问征集 做华为合伙人:华为开发者联盟沙龙(北京站)即将开幕 Windows XP发行12周年 我仍年轻而你已垂暮 2013浏览器市场份额:Chrome领衔,Firefox、IE相去甚远 人人网陈弢:从RecSys2013看大数据和移动给推荐系统带来的挑战 继续紧逼Oracle:在占领谷歌等公司之后,MariaDB迈向企业端 移动周报:十款最实用的Android UI设计工具 阿里巴巴CTO王坚:开发者精神是云计算与移动互联网的“信仰” 黑客老鹰:安全软件同样需要用户体验 六届中国大数据技术大会PPT精粹(二) 帮忙看看这个SQL语句什么地方错了? 此上机题的程序代码应该怎么写 想找个unix高手,有没有啊? 那里有java的帮助手册下载?类似于萎软的msdn & 0xFFF0是什么意思 银行存钱手续费问题 计算机网络——熊桂喜 译 INPUT如何用图片作背景? 谁能给我贴一个 Regular 动态 mfc-dll的例子! 函数怎样调用? 在线的各位高手,请问哪里可以下到SYBASE11.9.2安装程序? EJB-QL问题,怎么使用模糊查询LIKE? 请进 为什么我装了声卡驱动程序后,只能听到声音,却说不了话? rh9中用户目录下的.profile为什么不起作用? 我是专学PL/SQL编程的,但是我觉得这个不像是真正意义的编程! 大家进来看看吧! VC6下如何向Oracle中添加和读取BLOB型的数据? 一个关于Delphi6和Delphi7的问题 请问怎么知道C# MSDN 里的每一个类,每一个方法是做什么用的? 问题挺多的?请不吝赐教!都是小问题! 输入光标的移动问题 菜鸟请教:请问如何打包成jar和jad文件? 关于Oracle存储大量二进制数据的问题, 有武汉的朋友么! 加我qq 7095682 看完《美丽人生》 帮帮我 一条菜虫问一个很菜的问题? 当数据库中没有图片时候该怎么办 关于时间掩码? 问题挺多的?请不吝赐教!都是小问题! Turbo c一定要安装在win98下吗 如何修改存储器参数,我的表会越来越大,原来用默认参数 看了下面的帖子后我自己的一点感受 我怎样定位我的涉及DataReader的表格? 如何制做半透明窗体,上面的控件也要能控制是否透明。 我要转行了,也许CODEING只是爱好,要把它做为职业,惨,,, 请问大家能不能推荐一本关于PHOTOSHOP 7.0 DREAMWEAVE MX 的书籍 一个简单的图像序列化存储 EDIT1.TEXT从用户接受的内容如何放进ARR 设计数据库时这样的情况应该如何处理 CFileFind::FindFile()的查找路径是怎么确定的? 很菜的问题 关于red hat9的小问题 不知是程序写多了还是失恋的缘故!我头上有一块地方不长头发了,医生说是斑秃!不知程序员里有斑秃的吗? 一IT美女的悲惨遭遇◎! .net2003的编译器如何为类添加消息映射啊???? JAVA的文本编辑,实现修改和排版 Jmai发送邮件问题? 高分求c++ test 我成功配置了一备用数据库,与主库连上了,可是主库坏了,我怎么打不开备用库啊? (SDK)怎样用SendMessage函数反选一个checkButton control(checked->unchecked)呢? “用我、他、爱、她、四个字说一句话不能加字也不能减字” 以我、爱、静、儿四个字开头编一句话 问一首关于花的诗只记得是写一种花,本是生长在艰苦的环境里,却因外貌被人误解是富贵之花,可能写的是牡丹,原诗最后一句大概是:误-------富贵花.这样,大概意思就是上面说的,也可能是在 不能用平移的知识点去解决.用长方形的面积减去图中阴影部分的面积去解答,尽可能的详细.请写出思路启发以及解答过程.不能用平移啊! 甄寰传第三集里安陵容说夏冬青出生骁勇世家,大家都笑,这句话是什么意思呀 骁勇什么意思 骁勇无敌的意思注明出处 骁勇善战是什么意思?~~ 先秦诸子知识简答题!道家学派的创始人是春秋晚期的« ».他姓« »名« »,« »国人.他的学说记录在《 》一书里,该书由命名为《 》.道家在战国时期的代表人物是« 形容骁勇善战的诗词 什么事温室效应 德国1500幅被纳粹搜刮名画被估值高奥巴马被指政治光环不再 支持率与声望泰国看好高端中国游客 旅游业增聘通晓美国务卿克里访埃及 美官员称或恢复对美一贸易中心发生枪击事件 造成至少2俄罗斯大胆盗贼偷警察大楼 部分武器及日本超过6成企业雇佣员工工作至65岁一中国游客在美塞班岛溺亡 尸体漂浮于澳前奥运选手在扫毒行动中被捕 拒不承美国寿星跳伞庆百岁生日 从3900米澳大利亚3岁男童爬出车外 被继母无意小院流溪获销售业绩三料冠军“中国优秀休闲建筑奖”“中国定制”战略减肥 上西班牙VS荷兰张艺谋新作《长城》要玩“魔幻”理性的中国人枪响瞬间,脑子只有一个字“跑”不容外国指手画脚足球裁判报名助威团早买早安心摇落烟灰满地佣美天下神之炼狱沧云轮回逐魂异次元穿越者创世星神天地道尊霍氏春秋血染生死门混在妖界榕湖杉湖旅游两江四湖旅游象鼻山旅游象山旅游豫园老街旅游沧浪亭旅游观前街旅游留园旅游玄武湖旅游鸡鸣寺旅游美龄宫旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘