在中按高程创建过滤器
我想自动化过滤器,有可能吗?在工作中,我们正在处理大量的地图和图层,我想通过高程对其进行过滤,以便于访问。。
层看起来像这样:
我想按海拔过滤
喜欢这样的东西:
您可以使用属性过滤器,只需创建一个,然后在“名称”列中输入例如*900,
然后,包含900的所有层将被分组到此文件夹中。
它使用通配符匹配
谢谢,先生!我是从你那里得到这个主意的
(defun c:ff(/ layerelev q1)
(prompt "\nCreates FILTER?!")
(princ)
(setq Layerelev(getstring "\nEnter ELEVATION:"))
(setq q1 (strcat "*" Layerelev))
(command "._-layer" "filter" "New" "Group" "" q1 layerelev "" "")
(princ)
)
但当我放入WHILE循环时,它说“错误:SETQ中的参数太少:(SETQ)”
(defun c:ffLayers(/Celev1 Celev2 contstring)(setq Celev1(getint“\n输入第一个高程:”)(setq Celev2(getint“\n输入最后一个高程:”)(而( 你好,ktbjx。
我个人在你的代码中看到了另一个错误。
Celev1是一个整数,所以要在strcat中使用它,必须将其从整数转换为alpha
(defun c:ffLayers(/Celev1 Celev2 contstring)(setq Celev1(getint“\n输入第一个高程:”)(setq Celev2(getint“\n输入最后一个高程:”)(而(
哇!谢谢你指出这一点,大帮助!
我会用这个!!!再次谢谢你,先生
非常欢迎! 也许以后我会用
(rtos celev1 2 0),因为这只允许整数
(rtos celev1 2 1),因为这允许1位小数,例如0.5等高线等。
(rtos celev1 2 2)2位小数
页:
[1]