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

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

编辑:说三道四文库 发布时间:2017-01-24 02:57
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/
一篇文章读懂开源web引擎Crosswalk Facebook创建新开源组织TODO,Google、Twitter等继续捧场 微软明日将启动第二轮裁员 涉及所有的事业部 IBM推出Watson Analytics 将人机对话带进企业决策 参与2014中国移动开发者大调查 MDCC门票等你拿 手游开发经验谈:付费体系决定游戏收成好与坏? 惠普推出全新ProLiant Gen9服务器 腾讯安全出杀手锏 搭建全国最大Wi-Fi开放平台帮助网友免费蹭网 云与数据安全实践尽在ISC 2014(免费门票) 开源的对决,MapR将Apache Drill引入企业应用 令程序员费解的10个语言特性 走进雅虎北京全球研发中心:五年光阴缔造雅虎全球创新引擎 超强集成游戏编辑器!开源跨平台引擎Wave 求别再侵犯儿童隐私!FTC狠罚Yelp和TinyCo 华为应用市场助力开发者 软硬结合造就强大生态系统 【CTO俱乐部看板研修班北京站现场速递】看板方法:渐进变革的过程 《近匠》不背单词,用“沉浸”征服英语学习 ETpl——强复用、灵活、高性能的JavaScript模板引擎 MDCC 2014大会日程概览发布 最新嘉宾议题揭秘 终于来了,微信企业号正式开启公测! 【问底】王帅:深入PHP内核(一)——弱类型变量原理探究 谷歌Kubernetes专访:未来BigTable开发只是课后习题 首届“最具价值CTO”评选来啦!我们在找你! 【CTO俱乐部走进顺丰总部】活动图文直播进行中 中国第一个云主机评测发布:天翼云性价比第一、青云质量第一 Ruby 2.1.3发布,降低内存消耗、修复众多Bug! OpenHW2014开源硬件总决赛鏖战西安 AMD力推异构计算 《坦克世界:闪电战》:PC转手游,不止免费! 【讲师】道里云毛文波:网络虚拟化与SDN实现Docker连通 性能测试:SequoiaDB vs. MongoDB vs. Cassandra vs. HBase 华云数据推运营型PaaS Plus平台,联合Tmax走出“去IOE”的云化之路 VB如何插入汇编程序代码?“=ASM:”吗?怎么用? 如何解决读英文书开头难的问题? 有没有打印Tdecisiongrid的孔件 日记 情归何处?? 谁知道哪里可以弄到这本书"Windows Graphics Programming: Win32 GDI and DirectDraw" 程序员杂志第7期的程序擂台目前为止只有一个人做对了 分数不高,还请各位DX们指点以下:如何用DELPHI控制excel的格式(比如第一列的宽度,第五行的高度),以及如何在WORD中生成表格,其中填入数据库的数据. 各位情感高手请解答(没有谈过恋爱的免谈) 一个list控件,style设为checkbox,要怎样才能使列表中各项的默认值是选中状态,也就是说各项一开始都是打了勾的 阿虎菜问7:请问C与C++中的内封函数应该差不多吧? s_cube(竹子), s_cube(竹子)~!! 我爱你,s_cube(竹子) s_cube(竹子) ~!在哪里 简单问题(1) 如何不运行编译? 有谁知道怎么从perl里调用一个c库里的函数????????? 请问在CB中如何隐藏WINDOWS的任务栏呢? 今天不爽,下班后打星际,大家一起来。 指点!在PB中怎样用程序作成一张动态的交叉表 编辑控件怎样才能显示那些怪字符? 有没有人喜欢郑智化 大家推荐好听的几首歌吧! 请教:怎么学c++? 高手点拨! 各位网络高手.如何在程序里讲ip地址转化为域名 有什么方法,可使表单内的组件背景变成透明的而文字不透明,请看例子: 编辑控件怎样才能显示那些怪字符???? swall(壹心) 你还在深圳特区吗? 如何设置Session的密码?请高手指点迷经^^^^^ 哪位可以解释一下下面的代码? perl 的人气太差。罢了罢了。找本perl自己搞定 MsSQL7.0 当日志文件大小未限制而变得很大时,怎样清日志文件,使其减小? 请教诸位牛兄牛姐牛夫人---有难度哦(着急出活!) 基本问题:如何将一个.txt中的内容读入到内存再从内存中读出并存为另一个文件?谢了先!!!! 高手帮帮忙!!!!!!!!!!!!!! 又有台风了。。。。 在zip包中加入ASP推荐的PAD File有用吗????? PB连接SQL数数库,为什么显示的表会不全 如何把一个文件file.dat里的数据写入软盘0磁道0磁头1扇区. 我要骂人! chris2001(牛虻),不是东西 华为工程师 谁知道 vb 的序列号?????? VS.NET 有开了个新铺子。为什么我的ejb/j2ee还没有开张。气愤。 老大们:我是菜鸟,有问题要问,不过不要笑我。一定给分的 再次发问:关于在SQL SERVER中的某张表上建立触发器...... 没有有这样的病毒,或者文件 各位老大,如果有asp、sql基础学jsp和php是不是比较容易一些呀?言者有分哦! dll中怎样调用主程序中的函数? 新手请教接口聚合!!!!!!!!! 高分求教!有没有谁编写过WEB服务器程序? 微软OfficeXp女孩 请教一个报表问题? 为什么,在焓湿图上,干球温度35度,湿球温度23度和干球温度30度,湿球温度23度的焓是一样的呢? 含水率98%的污泥怎样换算为含水率80%的污泥 焓是什么意思? 如何使用干湿计测量空气的相对湿度 含水率反算公式,我只知道试验前重量和含水率,求试验后重量. 为什么等压下绝热反应中标准摩尔焓变等于零 干球温度低的空气其焓值小于干球温度高的空气的焓值.请问这句话是正确的吗?如果不对,请问为什么呢? 绝干污泥量怎么计算的?一般绝干污泥的含水率多少?有机质含量等参数? 某化学反应在恒压,绝热和只做体积功的条件下,体系温度由T1升为T2,此过程的焓变为()A △H 在一定大气压力和空气湿度下,从湿空气焓湿图上所查得的湿球温度是否与露点温度是一个概念? 已知:剩余污泥总量为737kg/d,剩余污泥含水率按99%计算湿污泥量为183m3/d.请问计算公式是什么?我要算的是2788kg/d为多少湿污泥量? 温度会改变为什么焓变还是等于零焓变不是状态函数 只跟温度有关吗?为什么温度变了 焓变还为零 焓值的计算公式 什么是熵,什么是焓,单位是什么? 气体等焓节流后会温度会变化,我想知道这个现象的微观解释是什么,详细点……理解能力有限有的气体节流后会降温,而有的气体会升温这是为什么?还有咱用的冰箱也利用了节流,给具体解释 焓变怎么计算书上写的都是化学式+化学式=化学式,后面写上焓变的值,那是怎么算的.请认真回答. PC的单位热流量是多少?质量焓是多少? 绝热节流前后,气体的焓不变,为什么温度还会变? 怎样算化学的焓变值? 焓是什么,它的单位是什么? 什么叫节流?节流是个等焓过程,为什么? 焓变的计算式好像有两种计算式,一种是ΔH=E生成物总能量 - E反应物总能量另一种是ΔH=E反应物的键能 - E生成物的键能能不能具体解释下这两种计算式原理,为什么这样计算,说具体点 水头损失里面的水头是什么意思?水头损失是能量损失,水头是焓值?单位是什么 绝热可逆膨胀温度为什么变小 焓值 一个标准大气压下饱和液氮的焓值是多少? 焓值的计算公式? 焓变单位的含义 请问绝热可逆过程和绝热不可逆过程的焓变有什么区别? 焓变!问题解题思路!求助,谢谢 焓变的单位中每摩尔的含义是什么 湿空气在喷蒸汽加湿的过程中,含湿量,相对湿度,焓的变化 焓变怎么求像这样的方程式,2Fe(s) + 3Cl2(g) ==2FeCl3(s),然后求焓变,具体是怎么求出来的?公式怎么用?或者H2(g)+1/2O2(g)==H2O 最后是-241.8KJ/MOL-RXN...这个数字是怎么出来的? 焓变的单位为什么焓的单位要加一个每摩尔,H不是等于Q么 为什么循环水喷淋空气处理过程是等焓加湿过程 焓与焓变二者之间的区别 大学化学中焓变的单位是什么?怎么理解呢?和高中有没有不同? 为什么电热式加湿器会是等温加湿?而水洗加湿等是等焓加湿?等焓加湿说通俗点是什么意思?各位大侠们是怎么理解这个焓值的? 焓变符号的含义 焓变的定义是什么 物体温度越高,所含热量越多. 这句话为什么是错的?这句话指的应该是同一个物体吧,也就是说100g99度的水和100g100度的水比,为什么不是100度的水所含热量多? 键能跟焓变的符号怎么一样阿 ΔH=生成物能量-反应物能量ΔH=反应物键能总和-生成物键能总和 怎么回事 ΔH不是只表示焓变吗 而且怎么一个是生成物-反应物 一个是反应物-生成物 什么叫焓差? 温度越高物体含有的热量越多吗? 反应热通常用符号Q表示,与焓变△H有什么区别? 小焓差是什么意思?谢谢 物体的温度越高,它所含的热量就越多.这句话是对的还是错的 关于干球温度计,湿球温度计的问题我有一个疑问,假如湿度越大,那湿球温度计所沾上的水分就越多,那么蒸发的水分就越多,吸热,制冷就越多,湿球温度计的示数就越小,干湿度差就越大,那就相 通常焓变与熵变在化学反应中的符号是相同的,请问这是为什么? 焓的物理意义具体是指什么?书上写焓是与内能有关的物理量,焓的具体的物理意义是什么? 如何根据空调冷凝器的空气进口干球温度计算出空调的冷凝温度手头上现有一台冷凝器的换热器,各个尺寸参数都已经知道了.现在要对该换热器做实验,按照国家标准,空气进口干球温度取35度, 七水硫酸镁的标准摩尔生成焓是多少?计算方法是什么? 焓差的定义是什么 高中有机化学里各个需要温度计的实验中温度计水银球的位置分别在哪里还有没有?还有没有啊? 有关标准摩尔生成焓标准摩尔生成焓规定由最稳定的单质生成时的焓变有些单质 如氧化银(ag2o) 不能由氧与银直接得到而臭氧可以与银反应 但不是最稳定的氧化银的标准摩尔生成焓怎么测 焓值差由什么决定? 有一种测量空气湿度的温度计 所示 它是由两支相同的温度计组成的 其中一只温度计正处于空气中另一只温度计乙的玻璃泡浸在潮湿的海绵中 将其放在室内 其中 的示数小 这是因为 .两示数 焓变公式是什么?关于ΔH的所有公式.我都忘没了···.比如温度是300度时候,H300怎么求?还有H''和H'都是什么意思啊?我全忘了····,我高中东西忘没了·· 等焓状态什么意思? 空气干球温度为27℃,湿球温度为19.5℃,空气湿度为多少?怎么计算? 求助饱和蒸汽焓的计算公式,详细的计算公式 任何一种物质都有焓吗?比如说,我用热空气干燥一种物质,热空气降温,这种物质升温,水份蒸发,利用焓来计算热量平衡,应该怎样算呢?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn