QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: 逆风的香
收起左侧

[已解决] VB控制AUTOCAD求隔热型材截面特性提取特性值问题

[复制链接]
 楼主| 发表于 2013-11-25 09:24:47 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!麻烦您根据我计算录像中的操作方式验算一次隔热型材惯性矩计算检查代码的适用性后发上来!因为相关的部分还很复杂,我怕不试用会有错误的地方!我根据您的提议修改后还是搞不定!可能是我自己知识太有限了!谢谢您!
 楼主| 发表于 2013-11-25 09:40:38 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我看了您发文的时间我感动不已!凌晨四点多思考这问题!我很佩服您!这问题我想了两三个月的时间!一步一步向完全解决的方向迈进!核心的问题已经解决了!现在只是怎么样更精细地设计的问题了!我想把CAD版本不受限制的问题彻底解决了我们这个编程才能叫完美!麻烦您根据录像试验一下!谢谢您!
发表于 2013-11-25 11:32:03 | 显示全部楼层 来自: 中国辽宁铁岭
逆风的香 发表于 2013-11-25 09:40 static/image/common/back.gif7 W3 J* Q8 f3 H, Q+ w" _! B- h4 ?8 ]
woaishuijia,您好!我看了您发文的时间我感动不已!凌晨四点多思考这问题!我很佩服您!这问题我想了两三个 ...

4 A9 B. N9 h6 L3 C' P% l很不幸,后期绑定对这个程序来说看来办不到了.) ^0 b, n, E- O1 r# [
经过尝试,如果不前期引用CAD类库,VB无法提取面域的质心和惯性矩.% K) ]9 f& T: ]/ S- a/ s1 O4 ?4 `
如果想不限制CAD版本,可行的办法应该有以下几种' c. E, D. o9 A* d. l$ O0 O
1.使用VBA,但这要求用户的CAD必须安装VBA模块. A' J6 T3 y  ]8 k
2.使用Visual LISP,对你来说可能是一个全新的挑战
 楼主| 发表于 2013-11-25 11:37:25 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我刚才也试了好半天!
 楼主| 发表于 2013-11-25 11:44:02 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!能不能把模块中的直接放到窗体的源代码中再去后期绑定呢!
发表于 2013-11-25 11:47:06 | 显示全部楼层 来自: 中国辽宁铁岭
本帖最后由 woaishuijia 于 2013-11-25 11:48 编辑
9 e7 m7 G/ d' u+ d% L
逆风的香 发表于 2013-11-25 11:37 http://www.3dportal.cn/discuz/static/image/common/back.gif  y, `/ G9 C' j' X6 X
woaishuijia,您好!我刚才也试了好半天!

* g( X3 s. ?$ D, m/ D- v3 `
9 e7 S# d! X- i附件中是对你的VB工程文件优化修改后的文件,与你的录像对比过,你可以参考下
! }5 [' d) B, [( n: Z# N) V
. d$ M3 k/ Q9 Y( f2 LPS:单纯用VB后期绑定不行了

隔热型材面域并集及截面特性计算源文件 横料计算(20131020).rar

7.56 KB, 下载次数: 13

 楼主| 发表于 2013-11-25 12:13:47 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!真的内心很感激您!原来朋友给我的计算非隔热型材惯性矩的源代码!在您的帮助下一步步向前,完善到现在这个地步已经很不错了!计算数值我用手算过是正确的!谢谢您啦!
 楼主| 发表于 2013-11-25 12:27:40 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!源代码您帮优化了很多!我那源代码就是典型的菜鸟干的!刚学会又不能让思路逃离,只能麻烦和重复,您确实想了的很多!感激、激动是我这时的心情!您有时间去北京过春节的话我一定会好好接待您!我北京手机号13261827818!
发表于 2013-11-26 08:38:36 | 显示全部楼层 来自: 中国辽宁
本帖最后由 woaishuijia 于 2013-11-26 08:42 编辑 9 D+ n3 l  Y: K- @6 `$ y$ h
( }( G* t7 P1 @5 \" d; U: H+ \
VBA版本的程序
8 a, G6 e# s/ D5 @, C3 Y把附件中的文件解压到CAD支持文件搜索路径下(在CAD"选项"对话框的"文件"选项卡中可以看到),打开画型材的文件,命令行键入"XC"命令回车即可运行

XCJS.rar

23.24 KB, 下载次数: 13

 楼主| 发表于 2013-11-26 15:44:50 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!那我学学VBA吧!这个基本思路跟VB一样!谢谢您!
 楼主| 发表于 2013-11-27 09:48:28 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我运行过了!但输入XC出了XCLIP(裁剪),可能这地方还需修改,跟别的命令有重复!里面运行我试过了!没问题!谢谢您!这种状态可以后期绑定了吧!
发表于 2013-11-27 11:51:03 | 显示全部楼层 来自: 中国天津
本帖最后由 woaishuijia 于 2013-11-27 11:57 编辑 4 O1 R; R! G/ n. t

9 h. ~3 Z! n% j9 n& Y; N# w一."XC"是在LISP程序中指定的,就是"acaddoc.lsp"这个文件,可以用WINDOWS记事本打开.这个程序在CAD打开每一个文档时都会被自动运行一次,创建一个在该文档中有效的自定义命令.该命令的名字写在LSP程序的第一行中"C:"的后面.你双击这个LSP程序打开它,可以自己把"XC"改成其它字符,效果是一样的. 这个LSP程序只是一个引导程序,作用是用一个自定义命令完成加载和运行VBA工程的两个动作,它不是必要的,但它让用户使用起来更方便. 5 D+ ^% _* v2 ?; k' d% w8 X
二.VBA就是VB与应用程序自动绑定的版本,这就是从一开始我就建议你用VBA的原因,呵呵
 楼主| 发表于 2013-11-27 12:24:48 | 显示全部楼层 来自: 中国山东潍坊
谢谢您!
 楼主| 发表于 2013-11-27 13:20:41 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我运行了一下!保存文本时好像保存不了!麻烦您看看!谢谢您!
 楼主| 发表于 2013-11-27 13:25:48 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我比方说求完立柱,还想求横料的,我能马上就转到横料按钮再去求值吧!向您请教!
发表于 2013-11-27 14:23:15 | 显示全部楼层 来自: 中国天津
逆风的香 发表于 2013-11-27 13:25 static/image/common/back.gif
+ F& y8 {) W% n# z, Y& }* Twoaishuijia,您好!我比方说求完立柱,还想求横料的,我能马上就转到横料按钮再去求值吧!向您请教!

7 ~& l4 h2 W) K) K4 m4 l; SLSP文件实际上就是文本文件,可以修改和保存.创建时就是一个普通文本文档,编辑保存后把文件扩展名改成"LSP"
4 r8 q* [: T- Z$ v这个VBA工程的具体使用方法和你原来的VB是完全一样的,控件和代码几乎没有变化
2 E2 a4 [, h* W+ s3 D5 e1 I$ s
 楼主| 发表于 2013-11-27 18:02:31 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!谢谢您的指教!感激您的孜孜不倦的精神!
 楼主| 发表于 2013-12-1 21:55:30 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!我又发现一个问题,这段代码中由于X1 = Abs(MaxPo(0)): X2 = Abs(MinPo(0)): Y1 = Abs(MaxPo(1)): Y2 = Abs(MinPo(1)),会造成WWx1WWx2没有确定是上部还是下部中的一个,在IIs = (Ix0) + (Ix1) + ((A0) / 100) * (((Ix2) / (Wx12)) - ((Ix0) / (Wx10))) ^ 2 + ((A1) / 100) * (((Ix2) / (Wx22)) - ((Ix1) / (Wx21))) ^ 2中是已经确定哪个是上部,哪个是下部的,如果操作时变换值不一致就会有错误,您可以试试如果先选择那个横向长的截面,求得的有效惯性矩值就会错误!!!我把计算有效惯性矩的计算过程都发给您!麻烦您看看有什么高招能把计算有效惯性矩的问题完全解决掉!谢谢您!
 楼主| 发表于 2013-12-1 21:56:46 | 显示全部楼层 来自: 中国山东潍坊
惯性矩计算.rar (2.74 MB, 下载次数: 8)
发表于 2013-12-2 06:45:49 | 显示全部楼层 来自: 中国吉林吉林市
逆风的香 发表于 2013-12-1 21:55 static/image/common/back.gif
/ O( i7 B" l" O! g6 y+ y5 Z/ qwoaishuijia,您好!我又发现一个问题,这段代码中由于X1 = Abs(MaxPo(0)): X2 = Abs(MinPo(0)): Y1 = Abs( ...

2 f$ p: ]1 O8 m& o XCJS.rar (25.68 KB, 下载次数: 13)
 楼主| 发表于 2013-12-2 07:57:20 | 显示全部楼层 来自: 中国山东潍坊
woaishuijia,您好!谢谢您清晨就给了我答案!我昨天自己操作时发现的这个问题!您更改的部分我已经看明白了!主要是不同质心间的间距!谢谢您!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表