乐筑天下

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

[编程交流] 直线标签lisp

[复制链接]

33

主题

96

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2022-7-6 09:33:01 | 显示全部楼层 |阅读模式
谁能帮我解决这个Lisp程序的问题吗。我需要它绕到最整齐的脚并添加“符号”。如果可能的话,让它坐在线上而不是线上。我正在使用Autocad 2011。
 
此Lisp由Tharwat创建:
(默认c:Lentxt(/ss)
(if(setq ss(ssget“_:L”'((0。“LINE”)))
(
(λ(i/ss1 e dis pt1 pt2 pt3)
(虽然
(setq ss1(ssname ss(setq i(1+i)))
(setq e(entget ss1))
(setq dis(距离(setq pt1(cdr(assoc 10 e)))(setq pt2(cdr(assoc 11 eЮ)Ю)))
(条件((
(setq pt3(极pt1(setq ang(角度pt1 pt2))(/dis 2))
)
((>(car pt1)(car pt2))(setq pt3(极坐标pt2(setq ang(角度pt2 pt1))(/dis 2))
)
)
(entmakex(列表(cons 0“文本”)
(cons 10(极性pt3和0))
(cons 1(rtos dis 2))
(cons 50 ang)
(cons 40(getvar的文本大小)))
))-1)
(princ“\n未选择行”)
)
(普林斯)
)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:56:56 | 显示全部楼层
你应该提到你从哪里得到Lisp程序,或者至少带来了链接。
 
从这里开始
 
塔瓦特
回复

使用道具 举报

33

主题

96

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2022-7-6 10:00:30 | 显示全部楼层
上次我来找人帮忙时,有人给我发了这封信。我忘了他们的标签名。
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 10:10:33 | 显示全部楼层
J_spawn_h
我们这里有一些简单的规则:
或者最好到这里阅读所有的线程-你也可以了解代码标签。 
萨尔瓦特
我无意损害你的声誉,我相信这是个错误。无论如何,您可以为Lisp例程提供一个简短的个人标题。
回复

使用道具 举报

33

主题

96

帖子

65

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2022-7-6 10:31:44 | 显示全部楼层
对不起,我不知道如何回到以前的帖子。
你的lisp很好用,我只是想把它加上去,但我想不出它是怎么得到这个数字的,所以我可以加一个(cvunit x“inches”“feet”)。
我只是不知道如何找出是谁给我的。
我在第一个帖子中纠正了我的错误。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:39:53 | 显示全部楼层
假设:
[列表]
  • 线条以英寸为单位绘制,您需要四舍五入到最近的英尺:
  • 您只需要2D距离
  • 您希望文本居中对齐在行的中间上方
  • 您已经预设了TEXTSTYLE TEXTSIZE层
  • 一切都是WCS
  • 雅达雅达雅达
    [/列表]
     
    可能是这样的:
     
    1. [b][color=BLACK]([/color][/b]defun c:llabel [b][color=FUCHSIA]([/color][/b]/ ss en ed p10 p11 mpt d2d lan dir tan[b][color=FUCHSIA])[/color][/b]
    2. [b][color=FUCHSIA]([/color][/b]defun round1 [b][color=NAVY]([/color][/b]r[b][color=NAVY])[/color][/b]
    3. [b][color=NAVY]([/color][/b]if [b][color=MAROON]([/color][/b]<= 0.5 [b][color=GREEN]([/color][/b]abs [b][color=BLUE]([/color][/b]rem r 1[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    4.     [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]1+ r[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    5.     [b][color=MAROON]([/color][/b]fix r[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    6. [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]setq ss [b][color=MAROON]([/color][/b]ssget [color=#2f4f4f]"X"[/color] '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"LINE"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    7.     [b][color=NAVY]([/color][/b]while [b][color=MAROON]([/color][/b]setq en [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    8.            [b][color=MAROON]([/color][/b]setq ed [b][color=GREEN]([/color][/b]entget en[b][color=GREEN])[/color][/b]
    9.                 p10 [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 10 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
    10.                 p11 [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 11 ed[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
    11.                 mpt [b][color=GREEN]([/color][/b]mapcar '[b][color=BLUE]([/color][/b]lambda [b][color=RED]([/color][/b]a b[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]* [b][color=PURPLE]([/color][/b]+ a b[b][color=PURPLE])[/color][/b] 0.5[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] p10 p11[b][color=GREEN])[/color][/b]
    12.                 d2d [b][color=GREEN]([/color][/b]distance [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]reverse p10[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]reverse p11[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
    13.                 lan [b][color=GREEN]([/color][/b]angle p10 p11[b][color=GREEN])[/color][/b]
    14.                 dir [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]< [b][color=RED]([/color][/b]* pi 0.5[b][color=RED])[/color][/b] lan [b][color=RED]([/color][/b]* pi 1.5[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] - +[b][color=GREEN])[/color][/b]
    15.                 tan [b][color=GREEN]([/color][/b]if [b][color=BLUE]([/color][/b]> [b][color=RED]([/color][/b]* pi 1.5[b][color=RED])[/color][/b] lan [b][color=RED]([/color][/b]* pi 0.5[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ lan pi[b][color=BLUE])[/color][/b] lan[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    16.            [b][color=MAROON]([/color][/b]entmake [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]cons 0 [color=#2f4f4f]"TEXT"[/color][b][color=BLUE])[/color][/b]
    17.                           [b][color=BLUE]([/color][/b]cons 8 [b][color=RED]([/color][/b]getvar [color=#2f4f4f]"CLAYER"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
    18.                           [b][color=BLUE]([/color][/b]cons 7 [b][color=RED]([/color][/b]getvar [color=#2f4f4f]"TEXTSTYLE"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
    19.                           [b][color=BLUE]([/color][/b]cons 40 [b][color=RED]([/color][/b]getvar [color=#2f4f4f]"TEXTSIZE"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
    20.                           [b][color=BLUE]([/color][/b]cons 72 4[b][color=BLUE])[/color][/b]
    21.                           [b][color=BLUE]([/color][/b]cons 10 [b][color=RED]([/color][/b]polar mpt [b][color=PURPLE]([/color][/b]dir [b][color=TEAL]([/color][/b]angle p10 p11[b][color=TEAL])[/color][/b] [b][color=TEAL]([/color][/b]* pi 0.5[b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b]
    22.                                    [b][color=PURPLE]([/color][/b]getvar [color=#2f4f4f]"TEXTSIZE"[/color][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
    23.                           [b][color=BLUE]([/color][/b]cons 11 [b][color=RED]([/color][/b]polar mpt [b][color=PURPLE]([/color][/b]dir [b][color=TEAL]([/color][/b]angle p10 p11[b][color=TEAL])[/color][/b] [b][color=TEAL]([/color][/b]* pi 0.5[b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b]
    24.                                    [b][color=PURPLE]([/color][/b]getvar [color=#2f4f4f]"TEXTSIZE"[/color][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b]
    25.                           [b][color=BLUE]([/color][/b]cons 50 tan[b][color=BLUE])[/color][/b]
    26.                           [b][color=BLUE]([/color][/b]cons 1 [b][color=RED]([/color][/b]strcat [b][color=PURPLE]([/color][/b]itoa [b][color=TEAL]([/color][/b]round1 [b][color=OLIVE]([/color][/b]/ d2d 12.[b][color=OLIVE])[/color][/b][b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b] [color=#2f4f4f]"'"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    27.            [b][color=MAROON]([/color][/b]ssdel en ss[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    28.   [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

     
     
    未经良好测试-大卫
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-7 02:30 , Processed in 0.368568 second(s), 64 queries .

    © 2020-2025 乐筑天下

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