乐筑天下

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

请教这程序有那些问题 谢谢!!!

[复制链接]

15

主题

35

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2003-9-10 10:31:00 | 显示全部楼层 |阅读模式

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-10 10:57:00 | 显示全部楼层
程序本身的问题就
(repeat n2 ...) 应该为(repeat (fix n2)...)
最后的erase选择对象后需要回车。
就功能上,不知你想干什么,一条从Q2到Q3的直线为什么要重复画那么多遍?
你是想将某一直线打散成某一长度的线段吗?
程序循环中注意n2是不会变化的,你必须自己设置一个变量来产生变化。
修改后如下:
  1. (defun c:mc()
  2. (setq l1 (entsel "请选择直线:"))
  3. (setq l1_data (entget (car l1)))
  4. (setq pts (assoc 10 l1_data))
  5. (setq p1 (cdr pts))
  6. (setq pte (assoc 11 l1_data))
  7. (setq p2 (cdr pte))
  8. (setq ang (angle p1 p2))
  9. (setq dd (distance p1 p2))
  10. (setq n1 (rem dd 2.4))
  11. (setq n2 (/ (- dd n1) 2.4))
  12. (setq p0 (polar p1 ang n1))
  13. (setq i n2)
  14. (repeat (fix n2)
  15.    (setq q1 (polar p0 ang (* 2.4 i)))
  16.    (setq q2 (polar p0 ang (- (* 2.4 i) 0.8)))
  17.    (setq q3 (polar p0 ang (- (* 2.4 i) 2.4)))
  18.    (command "line" q3 q2 "")
  19.    (setq i (1- i))
  20. )
  21. (command "line" p1 p0 "")
  22. (command "erase" l1 "")
  23. (princ)
  24. )
回复

使用道具 举报

44

主题

164

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
340
发表于 2003-9-10 11:16:00 | 显示全部楼层
(defun c:mc()
(setq l1 (entsel "请选择直线:"))
(setq l1_data (entget (car l1)))
(setq pts (assoc 10 l1_data))
(setq p1 (cdr pts))
(setq pte (assoc 11 l1_data))
(setq p2 (cdr pte))
(setq ang (angle p1 p2))
(setq dd (distance p1 p2))
(setq n1 (rem dd 2.4))
(setq n2 (/ (- dd n1) 2.4))
(setq p0 (polar p1 ang n1))
(setq n2 (rtos n2))
(setq n2 (atoi n2))
(repeat n2
   (setq q1 (polar p0 ang (* 2.4 n2)))
   (setq q2 (polar p0 ang (- (* 2.4 n2) 0.8)))
   (setq q3 (polar p0 ang (- (* 2.4 n2) 2.4)))
   (command "line" q3 q2 "")
   (setq n2 (1- n2))
)
(command "line" p1 p0 "")
(command "erase" (car l1) "")
(princ)
)
不知道程序的原意。现在不报错了。
回复

使用道具 举报

15

主题

35

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2003-9-10 11:29:00 | 显示全部楼层
谢谢meflying!!! 但实行时说 INTERSECT 所选对象太多。200391011294699225.lsp
回复

使用道具 举报

15

主题

35

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2003-9-10 11:33:00 | 显示全部楼层
将一条直线按1.6:0.8的比例,1.6长度画线,0.8不画,不能用线形来解决
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-10 11:58:00 | 显示全部楼层
可以,如下:
*abc,Dash __ __ __ __
A,1.6,-.8
我不明白你为什么要写成1.6:0.8,既然是比例,2:1不也一样吗?
回复

使用道具 举报

15

主题

35

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2003-9-10 13:16:00 | 显示全部楼层
我搞定了,
(defun c:zmc(/ ss nn l1 l1_data pts p1 pte p2 ang dd n1 n2 po q1 n q2 q3)
(setq ocmde (getvar "cmdecho"))
(setq oblip (getvar "blipmode"))
(setq oosmode (getvar "osmode"))
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setvar "osmode" 0)
(setq ss (ssget '((0 . "LINE"))))
(setq nn 0)
(repeat (sslength ss)
(setq l1 (ssname ss nn))
(setq l1_data (entget l1))
(setq pts (assoc 10 l1_data))
(setq p1 (cdr pts))
(setq pte (assoc 11 l1_data))
(setq p2 (cdr pte))
(setq ang (angle p1 p2))
(setq dd (distance p1 p2))
(setq n1 (rem dd 2.4))
(setq n2 (fix (/ dd 2.4)))
(setq p0 (polar p1 ang n1))
(setq q1 (polar p0 ang n1))
(setq n 1)
(repeat n2
(setq q2 (polar p0 ang (- (* n 2.4) 1.6)))
(setq q3 (polar p0 ang (* n 2.4)))
(command "line" q2 q3 "")
(setq n (1+ n))
)
(command "line" p1 p0 "")
(command "erase" l1 "")
(setq nn (1+ nn))
)
(setq ss nil)
(setvar "blipmode" oblip)
(setvar "cmdecho" ocmde)
(setvar "osmode" oosmode)
(princ)
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-10 13:39:00 | 显示全部楼层
为什么要修改blipmode?好象用不上啊
回复

使用道具 举报

15

主题

35

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2003-9-10 15:20:00 | 显示全部楼层
类似的情况,换为椭圆怎样计算
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-10 15:41:00 | 显示全部楼层
用measure,
不过如果将其断为一段一段的,比较麻烦,如果是一段有,一段空的,就比较方便了
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 05:51 , Processed in 1.094354 second(s), 77 queries .

© 2020-2025 乐筑天下

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