找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 704|回复: 13

[编程申请]:这个有点难度----能将LINE线往Z轴方向拉伸成面

[复制链接]
发表于 2005-7-12 12:01:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
求CAD程序,能将LINE线往Z轴方向拉伸成面,可多选(默认比例1:100)。
如选择一条线(线长2000),回车,输入3000,则此线往Z轴正向拉伸成一个面,面的边长为2000x3000
如选择一条线(线长2150),回车,输入-3000,则此线往Z轴负向拉伸成一个面,面的边长为2150x3000
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-7-12 12:10:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
用厚度不行吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2005-7-12 13:00:37 | 显示全部楼层
厚度我试过不行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-12 13:23:43 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR][url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]|;

  11. (defun c:test ()
  12.   (CMDLA0)
  13.   (setq        s1    (usel1 0 "LINE" "LINE线")
  14.         #real (ureal 1 "" "\n距离" #real)
  15.   )
  16.   (if s1
  17.     (progn
  18.       (command "copy" (car s1) "" (list 0 0 0) (list 0 0 #real))
  19.       (setq s2 (entlast))
  20.       (command "_rulesurf" s1 s2)
  21.       (entdel s2)
  22.     )
  23.   )
  24.   (CMDLA1)
  25. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-12 18:51:40 | 显示全部楼层
谢谢xyp1964 斑竹,你的程序CAD2002测试可用,若能如下改改,则更完美,有空请再看看。
1、要求能多选物体
2、不必将一条LINE线分成6份(你的程序先将LINE线分成六份后再拉伸成面)
3、默认将拉伸距离设为3000
有CAD测试文件,请下载。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-7-12 19:56:44 | 显示全部楼层

  1. (defun c:tt (/ e ss h sl n sp ep sp1 ep1)
  2.   (if (and (setq ss (ssget '((0 . "line"))))
  3.            (setq h (getdist "\nHight: "))
  4.       )
  5.     (progn
  6.       (setq sl (sslength ss)
  7.             n  sl
  8.       )
  9.       (repeat n
  10.         (setq e          (ssname ss (setq sl (1- sl)))
  11.               sp  (vlax-curve-getstartpoint e)
  12.               ep  (vlax-curve-getendpoint e)
  13.               sp1 (mapcar '+ sp (list 0. 0. h))
  14.               ep1 (mapcar '+ ep (list 0. 0. h))
  15.         )
  16.         (vl-cmdf ".3dface" sp sp1 ep1 ep "")
  17.       )
  18.     )   
  19.   )
  20.   (princ)
  21. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-12 20:37:05 | 显示全部楼层
eachy  斑竹的程序CAD2002可用,但产生不规则面,能否改改,上面有附件可供测试。谢谢先。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-12 21:12:34 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR][url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]|;

  11. ;;;LINE线3轴方向定长拉伸成面
  12. (defun c:test ()
  13.   (CMDLA0)
  14.   (setvar "osmode" 0)
  15.   (setq        #fx   (ukword 1 "X Y Z" "\n方向 : X-X轴/Y-Y轴/Z-Z轴" #fx)
  16.         #real (ureal 1 "" "\n拉伸距离" #real)
  17.         ss    (ssget '((0 . "LINE")))
  18.         i     -1
  19.   )
  20.   (mkla "拉伸面" 1)
  21.   (while (setq s1 (ssname ss (setq i (1+ i))))
  22.     (setq pts  (dxf 10 (entget s1))
  23.           pte  (dxf 11 (entget s1))
  24.           pts1 (list (car pts) (cadr pts) (+ (caddr pts) #real))
  25.           pte1 (list (car pte) (cadr pte) (+ (caddr pte) #real))
  26.     )
  27.     (cond ((= #fx "X")
  28.            (setq pts1 (list (+ (car pts) #real) (cadr pts) (caddr pts))
  29.                  pte1 (list (+ (car pte) #real) (cadr pte) (caddr pte))
  30.            )
  31.           )
  32.           ((= #fx "Y")
  33.            (setq pts1 (list (car pts) (+ (cadr pts) #real) (caddr pts))
  34.                  pte1 (list (car pte) (+ (cadr pte) #real) (caddr pte))
  35.            )
  36.           )
  37.           ((= #fx "Z")
  38.            (setq pts1 (list (car pts) (cadr pts) (+ (caddr pts) #real))
  39.                  pte1 (list (car pte) (cadr pte) (+ (caddr pte) #real))
  40.            )
  41.           )
  42.     )
  43.     (command "3dface" pts pts1 pte1 pte "")
  44.   )
  45.   (CMDLA1)
  46. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-12 21:35:00 | 显示全部楼层
CAD2002测试完全达到使用要求,非常感谢xyp1964 斑竹。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-12 21:36:21 | 显示全部楼层
效果:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-31 09:57:36 | 显示全部楼层
实际应用中有新的要求,请xyp斑竹帮帮。
我用你的程序将不同颜色的LINE线放入不同图层以后(http://www.xdcad.net/forum/showthread.php?s=&threadid=418764),
能否将生成的面放入生成该面的LINE线的图层中,如我选择了红线(在图层“1”中)我希望生的面也在图层“1”中且为红色;如我选择了黄线(在图层“2”中)我希望生的面也在图层“2”中且为黄色;余类推。谢谢*-*4
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 13:11:43 | 显示全部楼层
最初由 lengliqun 发布
[B]实际应用中有新的要求,请xyp斑竹帮帮。
我用你的程序将不同颜色的LINE线放入不同图层以后(http://www.xdcad.net/forum/showthread.php?s=&threadid=418764),
能否将生成的面放入生成该面的LINE线的图... [/B]
  1. [FONT=courier new];;;LINE线3轴方向定长拉伸成面
  2. (defun c:test ()
  3.   (CMDLA0)
  4.   (setvar "osmode" 0)
  5.   (setq        #fx   (ukword 1 "X Y Z" "\n方向 : X-X轴/Y-Y轴/Z-Z轴" #fx)
  6.         #real (ureal 1 "" "\n拉伸距离" #real)
  7.         ss    (ssget '((0 . "LINE")))
  8.         i     -1
  9.   )
  10.   (mkla "拉伸面" 1)
  11.   (while (setq s1 (ssname ss (setq i (1+ i))))
  12.     (setq pts  (dxf 10 (entget s1))
  13.           pte  (dxf 11 (entget s1))
  14.           la   (dxf 8 (entget s1))
  15.           pts1 (list (car pts) (cadr pts) (+ (caddr pts) #real))
  16.           pte1 (list (car pte) (cadr pte) (+ (caddr pte) #real))
  17.     )
  18.     (cond ((= #fx "X")
  19.            (setq pts1 (list (+ (car pts) #real) (cadr pts) (caddr pts))
  20.                  pte1 (list (+ (car pte) #real) (cadr pte) (caddr pte))
  21.            )
  22.           )
  23.           ((= #fx "Y")
  24.            (setq pts1 (list (car pts) (+ (cadr pts) #real) (caddr pts))
  25.                  pte1 (list (car pte) (+ (cadr pte) #real) (caddr pte))
  26.            )
  27.           )
  28.           ((= #fx "Z")
  29.            (setq pts1 (list (car pts) (cadr pts) (+ (caddr pts) #real))
  30.                  pte1 (list (car pte) (cadr pte) (+ (caddr pte) #real))
  31.            )
  32.           )
  33.     )
  34.     (MKLA1 la)
  35.     (command "3dface" pts pts1 pte1 pte "")
  36.   )
  37.   (CMDLA1)
  38. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-31 14:07:26 | 显示全部楼层
CAD2002测试可用,大侠真行。谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-31 20:25:26 | 显示全部楼层
好强的功能
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-22 04:25 , Processed in 0.432503 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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