乐筑天下

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

[编程交流] 使用li制作多段线框

[复制链接]

4

主题

18

帖子

14

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:48:11 | 显示全部楼层 |阅读模式
我正在编写一个lisp,它将在我选择的坐标处开始一条多段线。然后它会自动向90度的方向移动,输入一个距离,它会自动移动到0度,然后再次输入一个距离,然后它会自动完成该框。
 
所以我非常想要一个程序,可以从用户指定的位置开始创建一个多段线框,我只需要输入长度和宽度,它就会生成。我需要它是一条多段线,而不是一个矩形,因为我需要指定一个全局宽度。如果有更简单的方法,请帮忙。英雄联盟
 
 
(定义C:plx()
 
(命令“layer”“s”“Plate”“))
(命令“pline”pause)
 
(普林斯)
 
 
M
回复

使用道具 举报

4

主题

18

帖子

14

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:53:46 | 显示全部楼层
实际上,我意识到我可以用一个矩形,然后用pedit把它改成多段线。
回复

使用道具 举报

4

主题

18

帖子

14

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:57:48 | 显示全部楼层

                               
登录/注册后可看大图

 
我需要弄清楚如何制作一条会产生角度的多边形线,用户需要做的就是把长度放进去,制作一个像这样的物体
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:59:47 | 显示全部楼层
你可以用F8轻松做到这一点。。。。。。
 
当做
回复

使用道具 举报

4

主题

18

帖子

14

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:02:13 | 显示全部楼层
114818nixl34lqtsqiooo4.jpg
 
看起来像这样
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:07:19 | 显示全部楼层
这并不难,你需要知道你的姿势的不同长度和“极轴”功能,你可以轻松地创建它。
 
当做
 
塔瓦特
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:09:54 | 显示全部楼层
有些乐趣
 
  1. (defun c:rect ( / p1 p2 )
  2. ;; © Lee Mac 2010
  3. (if (and (setq p1 (getpoint "\nSpecify Pick Corner: "))
  4.           (setq p2 (getcorner "\nSpecift Opposite Corner: " p1)))
  5.    (LM:Rectangle p1 p2 (trans '(0. 0. 1.) 1 0 t))
  6. )
  7. (princ)
  8. )
  9. (defun LM:Rectangle ( ll ur norm )
  10. ;; © Lee Mac 2010
  11. (entmakex
  12.    (append
  13.      (list
  14.        (cons 0 "LWPOLYLINE")
  15.        (cons 100 "AcDbEntity")
  16.        (cons 100 "AcDbPolyline")
  17.        (cons 90 4)
  18.        (cons 70 1)
  19.        (cons 38 (caddr ll))
  20.        (cons 210 norm)
  21.      )
  22.      (mapcar '(lambda ( p ) (cons 10 p))
  23.        (
  24.          (lambda ( data )
  25.            (mapcar
  26.              '(lambda ( funcs )
  27.                 (mapcar
  28.                   '(lambda ( func )
  29.                      ((eval func) data)
  30.                    )
  31.                   funcs
  32.                 )
  33.               )
  34.             '((caar   cadar) (caadr  cadar)
  35.               (caadr cadadr) (caar  cadadr))
  36.            )
  37.          )
  38.          (mapcar '(lambda ( p ) (trans p 1 norm))
  39.            (list ll ur)
  40.          )
  41.        )
  42.      )
  43.    )
  44. )
  45. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:12:01 | 显示全部楼层
直接从我的工具箱里。。。
 
  1. (defun c:SQ (/ foo p1 pt w h p2 ent)
  2. ;; Draw square polygon at specified height and width (with option to rotate)
  3. ;; Alan J. Thompson
  4. (defun foo (p) (list 10 (car p) (cadr p)))
  5. (if (and (setq p1 (getpoint "\nSpecify NorthWest corner of rectangle: "))
  6.           (setq w (getdist "\nSpecify width: "))
  7.           (setq h (cond ((getdist (strcat "\nSpecify height <" (rtos w) ">: ")))
  8.                         (w)
  9.                   )
  10.           )
  11.      )
  12.    (progn
  13.      (setq p2 (polar (setq pt (trans p1 1 0)) 0. w))
  14.      (if (setq ent (entmakex
  15.                      (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline")
  16.                                    '(90 . 4) '(70 . 1)
  17.                                   )
  18.                              (mapcar 'foo
  19.                                      (list pt p2 (polar p2 (* 1.5 pi) h) (polar pt (* 1.5 pi) h))
  20.                              )
  21.                      )
  22.                    )
  23.          )
  24.        (command "_.rotate" ent "" "_non" p1 "_r" "_non" p1 "_non" (trans p2 0 1))
  25.      )
  26.    )
  27. )
  28. (princ)
  29. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:14:34 | 显示全部楼层
哎呀,李,我没注意到你发了什么帖子。顺便问一下,你的矩形和命令矩形有什么不同吗(除了它与当前UCS角度不匹配并且始终与视图平行之外)?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:17:00 | 显示全部楼层
 
没有区别-只是实验。这就是getcorner的问题。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 16:56 , Processed in 0.378237 second(s), 74 queries .

© 2020-2025 乐筑天下

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