李青松 发表于 2019-4-15 16:44:26

用lisp程序查询视口比例。比如比例是1:15,查询后是显示1:15,不要显示成0.0667

用lisp程序查询视口比例。比如比例是1:15,查询后是显示1:15,不要显示成0.0667

start4444 发表于 2019-4-15 16:44:27

(defun c:tt5 (/ ent)
        (setqent (entget (car (entsel "\n选择视口:"))))
                (princ (strcat "\n[视口比例为:1:" (rtos (/ (cdr(assoc 45 ent)) (cdr(assoc 41 ent))) 2 0) "]\n")) (princ)
        )

李青松 发表于 2019-4-16 09:19:37

本帖最后由 李青松 于 2019-4-16 09:27 编辑

start4444 发表于 2019-4-15 22:58
(defun c:tt5 (/ ent)
      (setqent (entget (car (entsel "\n选择视口:"))))
                (princ (strcat "\n[视口 ...很好,程序简单实用明经币怎样给你


李青松 发表于 2019-4-16 09:54:26

本帖最后由 李青松 于 2019-4-16 09:56 编辑

start4444 发表于 2019-4-15 16:44
(defun c:tt5 (/ ent)
      (setqent (entget (car (entsel "\n选择视口:"))))
                (princ (strcat "\n[视口 ...
若是改成框选就更好了。框选中有其它的线也不要影响查询比例

start4444 发表于 2019-4-16 10:00:12

本帖最后由 start4444 于 2019-4-16 10:16 编辑

李青松 发表于 2019-4-16 09:54
若是改成框选就更好了。框选中有其它的线也不要影响查询比例
框选其实意义不大,这种快速操作就要简单直接,如果要每一个单独显示那又要编号对应,这样就变得繁琐了,如果单单为了选择方便那就用ssget来选定
(defun c:tt5 (/ ent)
        (prompt "选择视口:")
      (setqent (entget (ssname (ssget ":S" '((0 . "viewport"))) 0)))
                (princ (strcat "\n[视口比例为:1:" (rtos (/ (cdr(assoc 45 ent)) (cdr(assoc 41 ent))) 2 0) "]\n")) (princ)
      )


如果多选就以第一个为准

李青松 发表于 2019-4-16 11:46:20

start4444 发表于 2019-4-16 10:00
框选其实意义不大,这种快速操作就要简单直接,如果要每一个单独显示那又要编号对应,这样就变得繁琐了, ...

新程序非常好,多谢。牛逼

KO你 发表于 2019-5-26 16:28:00

start4444 发表于 2019-4-16 10:00
框选其实意义不大,这种快速操作就要简单直接,如果要每一个单独显示那又要编号对应,这样就变得繁琐了, ...

命令行需要三行才能看得到参数,能不能只有两行的情况下显示

1291500406 发表于 2019-5-26 18:28:41

本帖最后由 1291500406 于 2019-5-26 18:30 编辑

KO你 发表于 2019-5-26 16:28
命令行需要三行才能看得到参数,能不能只有两行的情况下显示
(prompt "选择视口:")一行
(ssget)一行
(princ (strcat "\n[视口比例为:1:" (rtos (/ (cdr(assoc 45 ent)) (cdr(assoc 41 ent))) 2 0) "]\n")) 一行
你把(prompt "选择视口:")   删掉
(princ (strcat "[视口比例为:1:" (rtos (/ (cdr(assoc 45 ent)) (cdr(assoc 41 ent))) 2 0) "]"))


alexmai 发表于 2019-6-3 09:42:06

能把查询的文字直接写入到属性块上才完美

foer123 发表于 2019-12-23 21:41:06

1291500406 发表于 2019-5-26 18:28
(prompt "选择视口:")一行
(ssget)一行
(princ (strcat "\n[视口比例为:1:" (rtos (/ (cdr(assoc 4 ...

可不可以 修改成直接输入数字就把比例设置好了并且锁定视口   比如输入20就是1:20
页: [1] 2
查看完整版本: 用lisp程序查询视口比例。比如比例是1:15,查询后是显示1:15,不要显示成0.0667