乐筑天下

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

[编程交流] 这个命令是什么意思?

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 15:07:06 | 显示全部楼层 |阅读模式
我试着使用这个lisp插入A-A段箭头。字符串中的最后一个命令令我困惑;“输入第一节标注:”
谁能解释一下我在这个司令部应该做什么?
 
第。LSP段箭头
 
(defun C:SECT()
(setvar“fillmode”1)
(setvar“mirrtext”0)
(setq CHDIMSCL“N”)
(setq CHDIMTXT“N”)
(setq OP1(getstring)
“绘制截面切割(H)水平或(V)垂直”
) ;_ getstring结束
) ;_ setq结束
(setq OP1(strcase OP1))
 
(如果(=OP1“V”)
(程序
(setq OP(getstring“\n绘制箭头(L)eft或®ight”))
(setq OP(strcase OP))
) ;_ 程序结束
) ;_ if结束
(如果(=OP1“H”)
(程序
(setq OP(getstring“\n绘制箭头(U)向上或(D)向上”))
(setq OP(strcase OP))
) ;_ 程序结束
) ;_ if结束
 
(setq PTS(getpoint“\n pick first arrow Start point”))
(setq P PTS)
(setq PTS2(getpoint“\n选取第二个箭头起点”))
(setq COUT1(getstring“\n输入第一节标注:”))
(如果(=COUT1“”)
(setq COUT1“A”)
) ;_ if结束
(setq P2 PTS2)
(setq COUT1(strcase COUT1))
 
(setq COUT2(getstring“\n输入第二节标注:”))
(如果(=COUT2“”)
(setq COUT2“A”)
) ;_ if结束
(setq COUT2(strcase COUT2))
 
 
 
;尺寸比例
 
(setq SCAL(getvar“dimscale”))
(如果(=无标度)
(setq SCAL DEFSCAL)
) ;_ if结束
(princ“\n DIMSCALE设置为
(普林斯卡尔)
 
(princ“>;更改尺寸比例是/否
(princ CHDIMSCL)
(setq CHDIMSCL(getstring“>:”)
(setq CHDIMSCL(strcase CHDIMSCL))
 
(如果(=CHDIMSCL“Y”)
(程序
(princ“\输入新的DIMSCALE设置
(setq DIMSCL(getreal“>:”)
(setvar“dimscale”DIMSCL)
(setq SCAL(getvar“dimscale”))
) ;_ 程序结束
) ;_ if结束
 
 
(setq SCL(*1.0标度))
 
(setq PTY(cadr PTS))
(setq PTX(car PTS))
 
(setq PT2Y(cadr PTS2))
(setq PT2X(车载PTS2))
 
(如果(=OP1“H”)
(程序
(如果(
(程序
(setq PTS P2)
(setq PTS2 P)
) ;_ 程序结束
) ;_ IF结束
) ;_ 程序结束
) ;_ if结束
(如果(=OP1“V”)
(程序
(如果(>PTY PT2Y)
(程序
(setq PTS P2)
(setq PTS2 P)
) ;_ 程序结束
) ;_ IF结束
) ;_ 程序结束
) ;_ if结束
 
(setq PTY(cadr PTS));y坐标起点
(setq PTX(car PTS));x coor起点
 
(setq PT2Y(cadr PTS2))
(setq PT2X(车载PTS2))
 
 
(如果(=OP1“V”)
(setq MID(/(-PT2Y PTY)2))
) ;_ if结束
(如果(=OP1“H”)
(setq MID(/(-PT2X PTX)2))
) ;_ if结束
(setq TXTSZ(*SCL 0.25))
(setq SF(*SCL 0.375))
 
(如果(=OP1“V”)
(程序
(setq MIRRY1(列出PTX(+PTY MID)))
(setq MIRRY2(列表(+PTX 1.0)(+PTY MID)))
) ;_ 程序结束
) ;_ if结束
 
(如果(=OP1“H”)
(程序
(setq MIRRY1(列表(+PTX MID)PTY))
(setq MIRRY2(列表(+PTX MID)(+PTY 1.0)))
) ;_ 程序结束
) ;_ if结束
 
(setq LTAIL(-PTX SF));尾部长度
 
(setq TAIL(list LTAIL PTY));尾部终点
 
(setq TAILX(车尾))
(setq TAILY(cadr TAIL))
 
(setq LARR(-TAILX SF));箭头的长度
(setq ARR(list LARR TAILY 0));箭头终点
 
(setq ARRY(cadr ARR));箭头终点的y坐标
(setq ARRX(car ARR));箭头终点的x坐标
 
(setq TLOC(-ARRX SF))
(setq TLOC(+TLOC 0.25))
(setq TLOCP(list TLOC ARRY));版本文本位置
 
(如果(=OP“U”)
(程序
(setq TLOC(+PTY SF)
(setq TLOCP(列表(+PTX(/SF 5.5))TLOC));水平文字位置
) ;_ 程序结束
) ;_ if结束
 
(如果(=OP“D”)
(程序
(setq TLOC(-PTY-SF-SF))
(setq TLOCP(列表(+PTX(/SF 5.5))TLOC));水平文字位置
) ;_ 程序结束
) ;_ if结束
 
 
(setq SF1(*SCL 0.3375))
(setq TAILY(cadr TAIL));尾端的y坐标
(setq TAILX(车尾));尾部端点处的x坐标
 
(如果(
(setq VLTAIL(+TAILY SF))
) ;_ if结束
(如果(>PTY PT2Y)
(setq VLTAIL(-TAILY SF))
) ;_ if结束
 
(setq LTAILX(+TAILX SF1))
 
(如果(=OP“D”)
(setq VLTAIL(-TAILY SF))
) ;_ if结束
(如果(=OP“U”)
(setq VLTAIL(+TAILY SF))
) ;_ if结束
 
(setq VTAILX(list LTAILX TAILY))
(setq VTAIL(list LTAILX VLTAIL))
 
(setq W1(*(/1.875 10.0)SCL))
(setq W2(*(/0.75 10.0)SCL))
 
(命令“pline”TAIL“w”W1 0 ARR”“);箭
(如果(=OP“U”)
(命令“rotate”“l”“VTAILX-90”)
) ;_ if结束
(如果(=OP“D”)
(命令“rotate”“l”“VTAILX 90”)
) ;_ if结束
 
(如果(=OP“L”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
(如果(=OP1“H”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
 
(如果(=OP“R”)
(程序
(命令“mirror”“l”“VTAILX VTAIL”y)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ 程序结束
) ;_ if结束
 
(命令“pline”PTS“w”W2 W2 TAIL“”);水平尾翼
 
(如果(=OP“L”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
(如果(=OP1“H”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
 
(如果(=OP“R”)
(程序
(命令“mirror”“l”“VTAILX VTAIL”y)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ 程序结束
) ;_ if结束
 
(命令“pline”VTAILX“w”W2 W2 VTAIL“”)
(如果(=OP“L”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
(如果(=OP1“H”)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ if结束
 
(如果(=OP“R”)
(程序
(命令“mirror”“l”“VTAILX VTAIL”y)
(命令“mirror”“l”“MIRRY1 MIRRY2”n)
) ;_ 程序结束
) ;_ if结束
(如果(/=COUT1“”)
(程序
(命令“text”“j”“mr”TLOCP TXTSZ”“COUT1)
(命令“mirror”“l”“”MIRRY1 MIRRY2“Y”)
(如果(=OP“R”)
(命令“mirror”“l”“VTAILX VTAIL”y)
) ;_ if结束
 
(命令“text”“j”“mr”TLOCP TXTSZ”“COUT2)
(如果(=OP“R”)
(命令“mirror”“l”“VTAILX VTAIL”y)
) ;_ if结束
) ;_ 程序结束
) ;_ if结束
(setvar“plinewid”0)
(重新绘制)
(普林斯)
) ;_ defun结束
 
(princ“loaded..start command with SECT”)
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 15:21:29 | 显示全部楼层
第一个和第二个标注是将放置在剖面箭头尖端旁边的两个文本项。例如,第一个和第二个标注的“A”和“A”。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 15:34:09 | 显示全部楼层
我以为这就是它的意思,但当我进入A,然后再次进入A时,似乎什么都没有发生。
自从第一次发帖以来,我又试了一次,并意识到我并没有改变dimscale(到10)。
但是,当我移动dimscale时,只有一个A出现,并且它有一个非常难看的粗箭头(当我将dimscale更改为10时,可能会放大)。
我还缺什么吗?
第二个箭头可以出现吗(或者我只是复制现有的一个)?
是否可以使箭头保持默认的线比例,并且只包含字母A?
谢谢你的意见。
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 15:51:27 | 显示全部楼层
我相信粗箭就是这样设计的。它为我准备了两支箭。如果您当前的样式文本高度不是0.0,那么它就不正确-这可能解释了单箭头结果。
 
可以调整例程以允许自定义箭头大小。找到绘制箭头和线条(或定义宽度W1和W2的线条)的代码并修改它们。以下几行绘制了线/箭头:
 
(命令“pline”TAIL“w”W1 0 ARR”“);箭
(命令“pline”PTS“w”W2 W2 TAIL“”);水平尾翼
(命令“pline”VTAILX“w”W2 W2 VTAIL“”)
 
以下行设置宽度:
 
(setq W1(*(/1.875 10.0)SCL))
(setq W2(*(/0.75 10.0)SCL))
 
 
您可以在这两行中尝试使用10.0因子。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 15:59:51 | 显示全部楼层
明亮的谢谢你的帮助。
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 16:16:42 | 显示全部楼层
我正在创建机械零件(不是建筑,不是实体)的二维正交图形,并试图找到如何在一个视图中添加剖切面、箭头和标签来定义剖面视图。我在这个论坛上找到的全部内容是:3D切割平面,以某种方式构建自定义箭头的方向,以及Lisp程序(不管是什么)。我搜索错短语了吗?你知道,重切割平面线(可能旋转或偏移),带方向箭头,标记为A-A和剖面视图,带阴影,标记为剖面A-A?如何插入切割平面、箭头和标签?我需要在每个视图中构造每个元素吗?天哪,周一。没有可用的剖面工具、符号或块?这是根据美国国家标准协会,没有什么不寻常的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 21:14 , Processed in 0.385830 second(s), 64 queries .

© 2020-2025 乐筑天下

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