乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 131|回复: 7

[求助]需要大家的帮助 谢谢了

[复制链接]

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-7 14:24:00 | 显示全部楼层 |阅读模式
有没有一个函数可以将 几个固定的范围一起导出呀???
  例如:我的范围是 (p1,p2) (p3,p4) (p5,p6)  这三个范围中 p1为左下脚坐标,
  p2为右上脚坐标 ,这样够成了 一个范围。(p3,p4) (p5,p6) 类似。
   ssget函数能不能将这几个范围一起选择呀???????
  各位大侠谢谢2
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-7 15:09:00 | 显示全部楼层
;将你的点做成一个列表后循环,格式如下
;((pt1 pt2) (pt3 pt4) (pt5 pt6))
;如果只有三个范围的或者不循环,直接用ssadd一个一个加
(setq i 0)
(setq ss1 (ssadd))
(while (< i 3)
  (setq ss2 (ssget "w" (car (nth i ptlist)) (cadr (nth i ptlist))))
  (setq n (sslength ss2))
  (setq j 0)
  (while (< j n)
    (ssadd (ssname ss2 j) ss1)
    (setq j (1+ j))
  )
  (setq i (1+ i))
)
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-8 09:56:00 | 显示全部楼层

求助急死了,老大我循环不来呀!列表放在什么函数的什么地方呀???你能在源程序上给我提示嘛谢谢了[br](setq ptlist `((p1 p2) (p3 p4) (5 p6))
(setq i 0)
(setq ss1 (ssadd))
(while (< i 3)
  (setq ss2 (ssget "w" (car (nth i ptlist)) (cadr (nth i ptlist))))
  (setq n (sslength ss2))
  (setq j 0)
  (while (< j n)
    (ssadd (ssname ss2 j) ss1)
    (setq j (1+ j))
  )
  (setq i (1+ i))
)是不是这样呀? 如果是 ,怎么会总出错呀(SETQ 中参数太少: (SETQ PTLIST ` ((P1 P2) (P3 P4) (P5 P6)))
_$ )。
[此贴子已经被作者于2003-4-7 21:15:43编辑过][此贴子已经被作者于2003-4-8 8:47:57编辑过]
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-4-8 08:01:00 | 显示全部楼层
;;方法1
(command "_.select" "c" PT1 PT2 "c" PT3 PT4 "c" PT5 PT6 "")
(setq SS (ssget &quot"))
;;方法2
;;(SETQ PTLIST '((pt1 pt2) (pt3 pt4) (pt5 pt6)))
(setq PTLIST '(((-686.124 -272.54 0.0) (-212.592 243.979 0.0))
               ((-207.501 465.344 0.0) (92.9117 7.34723 0.0))
               ((98.0035 -203.84 0.0) (759.929 345.756 0.0))
              )
)
(command "_.select")
(foreach PT PTLIST
  (command "c" (car PT) (cadr PT))
)
(command "")
(setq SS (ssget &quot")
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-8 10:47:00 | 显示全部楼层
求助急死了,老大我循环不来呀!列表放在什么函数的什么地方呀???你能在源程序上给我提示嘛谢谢了..([br](setq ptlist `((p1 p2) (p3 p4) (5 p6))
(setq i 0)
(setq ss1 (ssadd))
(while (< i 3)
  (setq ss2 (ssget "w" (car (nth i ptlist)) (cadr (nth i ptlist))))
  (setq n (sslength ss2))
  (setq j 0)
  (while (< j n)
    (ssadd (ssname ss2 j) ss1)
    (setq j (1+ j))
  )
  (setq i (1+ i))
)是不是这样呀? 如果是 ,怎么会总出错呀(SETQ 中参数太少: (SETQ PTLIST ` ((P1 P2) (P3 P4) (P5 P6)))
_$ )。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-8 11:49:00 | 显示全部楼层
(setq ptlist (list (list p1 p2) (list p3 p4) (list p5 p6)))
(setq i 0)
(setq ss1 (ssadd))
(while (< i 3)
  (setq ss2 (ssget "w" (car (nth i ptlist)) (cadr (nth i ptlist))))
  (if ss2 (progn
  (setq n (sslength ss2))
  (setq j 0)
  (while (< j n)
    (ssadd (ssname ss2 j) ss1)
    (setq j (1+ j))
  ) ))
  (setq i (1+ i))
)
  (sslength ss1)
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-8 11:54:00 | 显示全部楼层
(setq ptlist (list (list p1 p2) (list p3 p4) (list p5 p6)))
(setq i 0)
(setq ss1 (ssadd))
(while (< i 3)
  (setq ss2 (ssget "w" (car (nth i ptlist)) (cadr (nth i ptlist))))
  (if ss2 (progn
  (setq n (sslength ss2))
  (setq j 0)
  (while (< j n)
    (ssadd (ssname ss2 j) ss1)
    (setq j (1+ j))
  ) ))
  (setq i (1+ i))
)
  (sslength ss1)
)
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-8 13:09:00 | 显示全部楼层
现在这个程序 只能取出 最后一个范围(p5 p6)的内容。(p1 p2)(p3 p4)内容没有导出呀。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-7 06:54 , Processed in 2.429525 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表