明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 517|回复: 3

[函数] 程序画虚线问题

[复制链接]
发表于 2022-4-20 09:08 | 显示全部楼层 |阅读模式
(if (not (tblobjname "ltype" "DASH"))
        (command "-linetype" "L" "DASH" "acadiso.lin" "")
      )


(command "-layer" "m" "虚线" "l" "DASH"  "虚线" "C" "7" """")
        (setvar "clayer" "虚线")  
(command "._line" Idd1 Idd3 "")  ;画梁线
(command "._line" Idd2 Idd4 "")  ;画梁线

这样画出的虚线显示为实线,应该是线型比例问题,有号办法解决吗
再请教一个问题 (mapcar '(lambda (x y) (* (+ x y) 0.5)) pt1 pt2)这里的0.5改为0.7等其它数字,程序不能运行,不好理解啊
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-4-20 10:52 | 显示全部楼层
线型比例问题可能不好解决,同样程序,各版本表现都不一致。
(mapcar '(lambda (x y) (* (+ x y) 0.5)) pt1 pt2)就是求中点,改为0.7应该照样运行
 楼主| 发表于 2022-4-20 16:23 | 显示全部楼层
自贡黄明儒 发表于 2022-4-20 10:52
线型比例问题可能不好解决,同样程序,各版本表现都不一致。
(mapcar '(lambda (x y) (* (+ x y) 0.5)) p ...

我也认为应该可以改,但改了程序就是不能运行
  1. (defun C:zjpt (/  en  pt1 pt2 ptt1 ptt2 ptt3 ptt4  pttt1  pttt2  pttt3  pttt4 I2 Id Id1 Id2 Idd1 Idd2 Idd3  Idd4 ss pd1 k1 k2 k3 k4 ku1  L)
  2. (setq en (car (entsel "\n选择踏步直线:"))
  3.         pt1 (cdr (assoc 10 (entget en)))
  4.         pt2 (cdr (assoc 11 (entget en)))
  5.         ku1 (angle pt1 pt2)
  6.         Id (mapcar '(lambda (x y) (* (+ x y) 0.5)) pt1 pt2)
  7.         I2 (polar Id (+ ku1 (* pi 0.7)) 620)
  8.         ss  (ssget "f" (list Id I2) '((8 . "楼梯" )))
  9.         )
  10.   (if (> (sslength ss) 4)
  11.     (setq k1 (+ ku1 (+ pi (* pi 0.5))))
  12.     (setq k1 (+ ku1 (* pi 0.5)))
  13.     )
  14. (setq k2 (+ k1 pi))  
  15. (setq k3 (+ k1 (* pi 0.5)))
  16. (setq k4 (+ k1 (+ pi (* pi 0.5))))
  17. (setq L (distance pt1 pt2))
  18. (setq pd1 (polar Id k1 L))
  19. (setq ptt1 (polar  pd1 k3 (+ 70 (* L 0.5)))) ;平台边线点
  20. (setq pttt1 (polar  pd1 k3  (* L 0.5)))
  21. (setq ptt2 (polar  pd1 k4 (+ 70 (* L 0.5)))) ;平台边线点
  22. (setq pttt2 (polar  pd1 k4  (* L 0.5)))
  23. (setq ptt3 (polar  Id k3 (+ 70 (* L 0.5)))) ;平台边线点
  24. (setq pttt3 (polar  Id k3  (* L 0.5)))
  25. (setq ptt4 (polar  Id k4 (+ 70 (* L 0.5)))) ;平台边线点
  26. (setq pttt4 (polar  Id k4  (* L 0.5)))
  27. (setq
  28.           Id1 (mapcar '(lambda (x y) (* (+ x y) 0.5)) ptt1 ptt3)
  29.                   Id2 (mapcar '(lambda (x y) (* (+ x y) 0.5)) ptt2 ptt4)
  30.                   Idd1 (polar Id1 k1 50)
  31.                   Idd2 (polar Id1 k2 50)
  32.                   Idd3 (polar Id2 k1 50)
  33.                   Idd4 (polar Id2 k2 50)
  34. )
  35. (if (not (tblsearch "layer" "楼梯"))
  36. (command "-layer" "m" "楼梯" "C" "4" """")
  37. )
  38. (setvar "clayer" "楼梯")
  39. (command "._pline" pttt3 "w" "0" "0"  ptt3 ptt1 ptt2 ptt4 pttt4 "")  
  40. (command "._line" pttt3 pttt1 "")  ;画栏杆线
  41. (command "._line" pttt4 pttt2 "")  ;画栏杆线
  42. (if (not (tblobjname "ltype" "DASH"))
  43.         (command "-linetype" "L" "DASH" "acadiso.lin" "")
  44.       )
  45.           (command "-layer" "m" "虚线" "l" "DASH"  "虚线" "C" "7" """")
  46.         (setvar "clayer" "虚线")  
  47. (command "._line" Idd1 Idd3 "")  ;画梁线
  48. (command "._line" Idd2 Idd4 "")  ;画梁线

  49. )

就这个小东西
发表于 2022-4-20 18:25 | 显示全部楼层

很不错呀 感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 07:01 , Processed in 0.485311 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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