QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
系统
[系统通知] 平台第一个项目外包——项目拼多;正式上线,欢迎各单位个人有外包、设计、采购、加工需求的,在此寻找更牛的解决方案
2021-07-01
查看: 4736|回复: 12
收起左侧

[求助] CAD模型直接切片

[复制链接]
发表于 2013-5-21 09:21:31 | 显示全部楼层 |阅读模式

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我想将autoCAD模型进行直接切片,基于VBA进行二次开发达到目的。有没有高手知道一下啊
发表于 2013-5-24 03:19:05 | 显示全部楼层
看不懂你在说什么,”autoCAD模型”是指什么?”切片”是什么意思?
 楼主| 发表于 2013-5-24 22:53:14 | 显示全部楼层
woaishuijia 发表于 2013-5-24 03:19 static/image/common/back.gif" v/ u$ C7 H" q: B1 ?( T- Z2 R& `
看不懂你在说什么,”autoCAD模型”是指什么?”切片”是什么意思?

+ ?$ T  b; e/ `是三维模型,就如一个圆柱体,怎么把它按一定的厚度分割后,把切面保存下来!能线下联系吗,我的QQ447065525,有一些问题想请教一下
发表于 2013-5-25 08:59:40 | 显示全部楼层
本帖最后由 woaishuijia 于 2013-5-25 09:20 编辑
" I% _# N) T! G; q, r( [
清江幽月 发表于 2013-5-24 22:53 http://www.3dportal.cn/discuz/static/image/common/back.gif
  V: v! B+ d6 z9 H/ [$ V是三维模型,就如一个圆柱体,怎么把它按一定的厚度分割后,把切面保存下来!能线下联系吗,我的QQ447065 ...
( v' ?2 l, X# z1 h: s
  v. r  C& `( |/ n  T- r/ `# x- z
还是不明白你的意思.不过大体上能回答你了- A0 h2 v6 q) i9 W+ J# F
"按一定的厚度分割",不知道你的"厚度"指什么.分割三维实体通常可以用"布尔运算"(并,差,交集)或"剖切"方法' w5 o  ]% {! B. l1 _7 G$ s3 {# W) x. s
布尔运算在ACAD类库中用 3DSolid 对象的 Boolean 方法.该方法有两个参数,第一个是 AcBooleanType 常数,其中有 acUnion: 执行并集运算;acIntersection: 执行交集运算;acSubtraction: 执行差集运算.第二个参数是要与使用本方法的 3DSolid 对象进行布尔运算的另一个 3DSolid 对象.运算成功后,使用本方法的 3DSolid 对象被改变.格式是
  1. 三维实体对象.Boolean AcBooleanType 常数, 另一个 3DSolid 对象
复制代码
剖切在ACAD类库中用 3DSolid 对象的 SliceSolid 方法.该方法有四个参数和一个返回值,前三个是构成剖切平面的三个三维点,每个点都是三元素双精度数组,数组中三个元素分别是该点WCS的三维坐标;第四个参数是一个布尔型变量(含义后面说).剖切成功后,使用本方法的 3DSolid 对象被改变为原三维实体的剖切平面正法向部分.如果第四个参数为 True ,则返回值是原三维实体的剖切平面负法向部分;如果为 False ,则返回值是原三维实体的剖切平面正法向部分.格式是
  1. 返回的三维实体 =原三维实体.SliceSolid(点一数组,点二数组, 点三数组,True 或 False)
复制代码
"把切面保存下来",不知道你的"切面"指什么.如果是指分割三维实体后剩下的实体部分,前面已经回答你了;如果是指剖切三维实体时使用的平面,则 SliceSolid 方法用到的前三个参数(三个点)就代表了该平面;如果是指三维空间中某个平面与三维实体相交的平面图形,则应使用 3DSolid 对象的 SectionSolid 方法.该方法有三个参数和一个返回值.三个参数是构成与实体相交平面的三个三维点,每个点都是三元素双精度数组,数组中三个元素分别是该点WCS的三维坐标;返回值是一个面域(Region)对象,即三维实体与平面相交处的平面图形.格式是
  1. 返回的面域对象 = 三维实体对象.SectionSolid (点一数组,点二数组, 点三数组)
复制代码
 楼主| 发表于 2013-5-25 09:20:06 | 显示全部楼层
woaishuijia 发表于 2013-5-25 08:59 static/image/common/back.gif) w- {9 h; ^% q9 G# a" T
还是不明白你的意思.不过大体上能回答你了$ S9 Q, o- J1 d6 r8 J& s
"按一定的厚度分割",不知道你的"厚度"指什么.分割三维实体通常 ...
! {. _( J* K& }' F0 D! J
啊,回复的非常详细,谢谢你。目前我已经实现了这部分功能。我现在想做的是将每一次剖切后的平面分别保存下来,但是还做不到。有什么方法能将我erase过的对象回复没?
发表于 2013-5-25 09:30:14 | 显示全部楼层
我想我可能明白你的意思了,你是不是想把一个三维实体按一定间隔分别剖切,得到一组截面,就像把一座山按一定的高度间隔分别剖切出等高线?
3 u6 v2 b$ y3 d0 q8 n. a" b% o如果是的话,就不应该用布尔运算或剖切方法,而是用平面截面方法,就是我上一个帖子里说的第三种方法.实体不会剖切,得到的是截面面域.至于面域,如果不能满足需要就把它用Explode 方法进一步分解为其它图元
 楼主| 发表于 2013-5-25 10:43:18 | 显示全部楼层
woaishuijia 发表于 2013-5-25 09:30 static/image/common/back.gif8 ~% |, f# a3 Y- E' _& W
我想我可能明白你的意思了,你是不是想把一个三维实体按一定间隔分别剖切,得到一组截面,就像把一座山按一定的 ...
- q* y% y# E7 w* K- D1 f* U# [
我用剖切得到了面域,但不会剖切后得到一个面域,保存,然后继续剖切,保存。现在就是这个问题,纠结好久了。我用slicesolid和sectionsolid后再erase  solidobj就可以得到面域,但是erase后,得到一个面域就不能继续下面进行切割了。有没有方法使erase过的对象重新恢复,那就可以继续切割的?
发表于 2013-5-25 17:28:50 | 显示全部楼层
没有办法恢复.7 `- {& n0 C% W" e7 L
如果一定用剖切得到面域,只能是先COBY一个,剖切之,得到一个面域后,再复制,剖切...
 楼主| 发表于 2013-5-27 16:19:01 | 显示全部楼层
woaishuijia 发表于 2013-5-25 17:28 static/image/common/back.gif' A# d! }  N5 m$ m5 Y+ S
没有办法恢复.
/ b5 n$ ~* s( g% ^' K3 N4 B' \3 ^如果一定用剖切得到面域,只能是先COBY一个,剖切之,得到一个面域后,再复制,剖切...
3 `3 G6 x& r% j1 H
诶,用什么函数可以得到实体的面轮廓?
发表于 2013-5-27 17:11:51 | 显示全部楼层
清江幽月 发表于 2013-5-27 16:19 static/image/common/back.gif' O7 y. e/ D9 E/ f) C- O
诶,用什么函数可以得到实体的面轮廓?

" g, K# E3 i) T" C9 E面轮廓?什么意思?; o8 V4 k( l" Y
最好使用标准的概念和术语,自制的词汇除了你自己谁也看不懂
 楼主| 发表于 2013-6-3 13:38:02 | 显示全部楼层
就是说,一个三维实体模型,怎么得到它的它的表面模型,就是将实体转化为曲面,像抽壳一样,但是壳体有厚度,曲面模型没有厚度
发表于 2013-6-3 15:56:14 | 显示全部楼层
这取决于版本.低版本CAD不支持曲面.高版本的CAD图形界面支持曲面和实体互转,但类库仍不支持.只能用"sendcommand"方法向命令行发送命令.
0 P0 u) b9 ]/ N5 ]: j或使用LSP编程
 楼主| 发表于 2013-6-3 22:32:17 | 显示全部楼层
我现在是用VBA编程,这个该怎么编呢?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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