yrnomad 发表于 2022-7-5 23:05:26

通过lis设置cannoscale

我有一个小lisp,我已经让人们使用了一段时间,它可以在我们的绘图中快速设置一些变量。当时我没有包括cannoscale,因为我们不太使用注释比例,我不知道如何在lisp中进行比例部分。
现在我被要求做到这一点,我想我已经在滑雪了。
 
我尝试了几种方法来测试1/4”和1/8”的比例,得到了“错误:参数太多”
 
有人能告诉我怎么做吗,或者给我一个更好的方式来处理整个事情?
 
这是我的代码:
;;;;;;;;;;;;;;;Sets related scales to 1;;;;;;;;;;;;;;;
(defun c:s1 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 1)
   (setvar "dimscale" 1)
   (setvar "ltscale" 0.3)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 0.1)
)
;;;;;;;;;;;;;;;Sets related scales to 1;;;;;;;;;;;;;;;
(defun c:s12 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 12)
   (setvar "dimscale" 12)
   (setvar "ltscale" 3.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 1.2)
)
;;;;;;;;;;;;;;;Sets related scales to 3/4;;;;;;;;;;;;;;;
(defun c:s16 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 16)
   (setvar "dimscale" 16)
   (setvar "ltscale" 4.
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 1.6)
)
;;;;;;;;;;;;;;;Sets related scales to 1/2;;;;;;;;;;;;;;;
(defun c:s24 ()
   (setvar "cmdecho" 1)
   (setvar "userR1" 24)
   (setvar "dimscale" 24)
   (setvar "ltscale" 7.2)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 2.4)
)
;;;;;;;;;;;;;;;Sets related scales to 3/8;;;;;;;;;;;;;;;
(defun c:s32 ()
   (setvar "cmdecho" 1)
   (setvar "userR1" 32)
   (setvar "dimscale" 32)
   (setvar "ltscale" 9.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 3.2)
)
;;;;;;;;;;;;;;;Sets related scales to 1/4;;;;;;;;;;;;;;;
(defun c:s48 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 48)
   (setvar "dimscale" 48)
   (setvar "ltscale" 14.4)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 4.
   (setvar "cannoscale" "1/4" = 1'-0"")
)
;;;;;;;;;;;;;;;Sets related scales to 3/16;;;;;;;;;;;;;;;
(defun c:s64 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 64)
   (setvar "dimscale" 64)
   (setvar "ltscale" 19.2)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 6.4)
)
;;;;;;;;;;;;;;;Sets related scales to 1/8;;;;;;;;;;;;;;;
(defun c:s96 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 96)
   (setvar "dimscale" 96)
   (setvar "ltscale" 28.
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 9.6)
   (setvar "cannoscale" "1/8" = 1'-0"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/10;;;;;;;;;;;;;;;
(defun c:s120 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 120)
   (setvar "dimscale" 120)
   (setvar "ltscale" 36)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 12.0)
)
;;;;;;;;;;;;;;;Sets related scales to 3/32;;;;;;;;;;;;;;;
(defun c:s128 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 128)
   (setvar "dimscale" 128)
   (setvar "ltscale" 38.4)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 12.
)
;;;;;;;;;;;;;;;Sets related scales to 1/16;;;;;;;;;;;;;;;
(defun c:s192 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 192)
   (setvar "dimscale" 192)
   (setvar "ltscale" 57.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 19.2)
)
;;;;;;;;;;;;;;;Sets related scales to 1/20;;;;;;;;;;;;;;;
(defun c:s240 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 240)
   (setvar "dimscale" 240)
   (setvar "ltscale" 72)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 24.0)
)
;;;;;;;;;;;;;;;Sets related scales to 1/30;;;;;;;;;;;;;;;
(defun c:s360 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 360)
   (setvar "dimscale" 360)
   (setvar "ltscale" 108)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 36.0)
)
;;;;;;;;;;;;;;;Sets related scales to 1/40;;;;;;;;;;;;;;;
(defun c:s480 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 480)
   (setvar "dimscale" 480)
   (setvar "ltscale" 144)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 48.0)
)
;;;;;;;;;;;;;;;Sets related scales to 1/50;;;;;;;;;;;;;;;
(defun c:s600 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 600)
   (setvar "dimscale" 600)
   (setvar "ltscale" 180)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 60.0)
)
;;;;;;;;;;;;;;;Sets related scales to 1/60;;;;;;;;;;;;;;;
(defun c:s720 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 720)
   (setvar "dimscale" 720)
   (setvar "ltscale" 216)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 72.0)
)
;;;;;;;;;;;;;;;Sets related scales to 1/100;;;;;;;;;;;;;;;
(defun c:s1200 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 1200)
   (setvar "dimscale" 1200)
   (setvar "ltscale" 360)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 120.0)
)

ReMark 发表于 2022-7-5 23:15:50

这样行吗?
 
(setvar“cannoscale”“1\”=48”)

yrnomad 发表于 2022-7-5 23:24:26

评论
那次编辑不起作用
; 错误:AutoCAD变量设置被拒绝:“cannoscale”1\“=48”

ReMark 发表于 2022-7-5 23:27:16

也许是这边?
 
(setq“cannoscale”“1/4\”=1'-0\“”)

yrnomad 发表于 2022-7-5 23:33:57

答对 了
所以我只需要对我剩下的量表使用相同的比率格式。。。i、 e.1“=30”。

ReMark 发表于 2022-7-5 23:42:39

这么说成功了?好吧,我会被d@&%ed。
 
我不确定工程规模,因为我以为我们谈论的都是建筑规模。你为什么在比赛中间改变规则?英雄联盟

yrnomad 发表于 2022-7-5 23:50:46

是的,总是让事情变得困难,嗯!
我仔细研究了一下,发现因为我的天平列表中没有一些工程天平,所以它无法进行设置。但是,如果规模存在,那么它工作得很好。所以,现在我需要创建一个更新的默认比例列表。。。更多工作。
 
非常感谢你在这个论坛上所做的一切。看起来你通常都有答案需要帮忙。
 
这是新版本。
 
 
;;;;;;;;;;;;;;;Sets related scales to 1;;;;;;;;;;;;;;;
(defun c:s1 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 1)
   (setvar "dimscale" 1)
   (setvar "ltscale" 0.3)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 0.1)
   (setvar "cannoscale" "1\" = 1\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1;;;;;;;;;;;;;;;
(defun c:s12 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 12)
   (setvar "dimscale" 12)
   (setvar "ltscale" 3.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 1.2)
   (setvar "cannoscale" "1\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 3/4;;;;;;;;;;;;;;;
(defun c:s16 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 16)
   (setvar "dimscale" 16)
   (setvar "ltscale" 4.
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 1.6)
   (setvar "cannoscale" "3/4\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/2;;;;;;;;;;;;;;;
(defun c:s24 ()
   (setvar "cmdecho" 1)
   (setvar "userR1" 24)
   (setvar "dimscale" 24)
   (setvar "ltscale" 7.2)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 2.4)
   (setvar "cannoscale" "1/2\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 3/8;;;;;;;;;;;;;;;
(defun c:s32 ()
   (setvar "cmdecho" 1)
   (setvar "userR1" 32)
   (setvar "dimscale" 32)
   (setvar "ltscale" 9.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 3.2)
   (setvar "cannoscale" "3/8\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/4;;;;;;;;;;;;;;;
(defun c:s48 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 48)
   (setvar "dimscale" 48)
   (setvar "ltscale" 14.4)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 4.
   (setvar "cannoscale" "1/4\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 3/16;;;;;;;;;;;;;;;
(defun c:s64 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 64)
   (setvar "dimscale" 64)
   (setvar "ltscale" 19.2)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 6.4)
   (setvar "cannoscale" "3/16\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/8;;;;;;;;;;;;;;;
(defun c:s96 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 96)
   (setvar "dimscale" 96)
   (setvar "ltscale" 28.
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 9.6)
   (setvar "cannoscale" "1/8\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/10;;;;;;;;;;;;;;;
(defun c:s120 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 120)
   (setvar "dimscale" 120)
   (setvar "ltscale" 36)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 12.0)
   (setvar "cannoscale" "1\" = 10'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 3/32;;;;;;;;;;;;;;;
(defun c:s128 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 128)
   (setvar "dimscale" 128)
   (setvar "ltscale" 38.4)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 12.
   (setvar "cannoscale" "3/32\" = 1'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/16;;;;;;;;;;;;;;;
(defun c:s192 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 192)
   (setvar "dimscale" 192)
   (setvar "ltscale" 57.6)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 19.2)
   (setvar "cannoscale" "1\" = 16'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/20;;;;;;;;;;;;;;;
(defun c:s240 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 240)
   (setvar "dimscale" 240)
   (setvar "ltscale" 72)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 24.0)
   (setvar "cannoscale" "1\" = 20'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/30;;;;;;;;;;;;;;;
(defun c:s360 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 360)
   (setvar "dimscale" 360)
   (setvar "ltscale" 108)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 36.0)
   (setvar "cannoscale" "1\" = 30'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/40;;;;;;;;;;;;;;;
(defun c:s480 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 480)
   (setvar "dimscale" 480)
   (setvar "ltscale" 144)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 48.0)
   (setvar "cannoscale" "1\" = 40'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/50;;;;;;;;;;;;;;;
(defun c:s600 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 600)
   (setvar "dimscale" 600)
   (setvar "ltscale" 180)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 60.0)
   (setvar "cannoscale" "1\" = 50'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/60;;;;;;;;;;;;;;;
(defun c:s720 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 720)
   (setvar "dimscale" 720)
   (setvar "ltscale" 216)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 72.0)
   (setvar "cannoscale" "1\" = 60'-0\"")
)
;;;;;;;;;;;;;;;Sets related scales to 1/100;;;;;;;;;;;;;;;
(defun c:s1200 ()
(setvar "cmdecho" 1)
   (setvar "userR1" 1200)
   (setvar "dimscale" 1200)
   (setvar "ltscale" 360)
   (setvar "msltscale" 0)
   (setvar "psltscale" 0)
   (setvar "textsize" 120.0)
   (setvar "cannoscale" "1\" = 100'-0\"")
)

ksperopoulos 发表于 2022-7-5 23:53:15

你知道,如果你现在使用注释性比例,我认为你不需要设置所有其他变量。您只需将msltscale和psltscale分别设置为1,然后将ltscale设置为一个您满意的值(如0.25)。然后,当您更改比例和重新生成时,它应该更新线型。你也不必担心textsize或dimscale。它们也会自动调整。只有我的两分钱。

ReMark 发表于 2022-7-6 00:03:14

昨天,当我第一次阅读你的帖子时,我的想法和ksperopoulos一样。注释性缩放应该使人的生活更轻松,而不是更复杂。如果您确实希望“轻松”,请放弃注释性缩放,将所有尺寸和文字放置在布局中,而不是模型空间中。唯一需要担心的设置是使维度“关联”。你的文字和尺寸都是按照真实世界的大小进行的。

yrnomad 发表于 2022-7-6 00:06:25

啊,是的。我终于有一天时间回到这些问题上来了,所以我正努力计划赶上。。。很难相信已经6个月了。我正在和
 
MSLTScale/PSLTScale/LTScale方法,试图掌握其中的诀窍。
在布局中进行注释的问题是,我们有时会将我们的文件引用到其他文件中,因此如果在布局中,我们将看不到该注释。。。
 
当前的“一刀切”危机是“摇尾巴的狗”激起的涟漪。我们的一个分包商想要更改为不同的图层名称集。几年来,我一直在努力实现这一目标,但始终坚持“一如既往”。所以我让所有3个分支同意使用接近AIA的格式,这意味着我需要更改部分块内的层名称。当我这样做时,我将属性的一个文本样式更改为注释性,以便文本始终与比例匹配。我在几个街区进行了测试,结果很好。今天我发现,按真实比例组成的块效果很好,但如果是按比例缩放的块,则属性会很大。
所以我又一次撞上了一堵注释性的墙。
 
但是,嘿,谢谢你上次的帮助。
页: [1]
查看完整版本: 通过lis设置cannoscale