乐筑天下

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

[编程交流] set\u tile和get\u tile

[复制链接]

7

主题

29

帖子

22

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:10:37 | 显示全部楼层 |阅读模式
大家好,我一直潜伏在这个论坛很长时间,现在我需要一些帮助。
 
我想做一个dcl,其中有一些基本的预设值。用户可以更改它们。
稍后将使用这些值进行计算。
 
该lisp在AutoCAD2002中工作,是更大的lisp的一部分。其中一些我无法发布。
 
 
这是我得到的(部分),但我只是无法用get\u tile获得值。
给我类型错误。或零。
 
DCL:
 
:boxed_列{
label=“安全区域2参数”;
 
 
:列{
:行{
:编辑框{
label=“Korkeus 1 alle;”;
key=“PAAA1”;
编辑宽度=15;
allow\u accept=true;
}
:编辑框{
label=“偏移1开:”;
key=“PAAA2”;
编辑宽度=15;
allow\u accept=true;
}
}
}
 
 
:列{
 
:行{
:编辑框{
label=“Korkeus 2 alle:”;
key=“PAAA3”;
编辑宽度=15;
allow\u accept=true;
}
:编辑框{
label=“偏移量2开:”;
key=“PAAA4”;
编辑宽度=15;
allow\u accept=true;
}
}
}
 
:列{
 
:行{
:编辑框{
label=“Korkeus 3 YLI:”;
key=“PAAA5”;
编辑宽度=10;
allow\u accept=true;
}
:编辑框{
label=“偏移3开:”;
key=“PAAA6”;
编辑宽度=10;
allow\u accept=true;
}
:编辑框{
label=“Kerroin:”;
key=“PAAA7”;
编辑宽度=10;
allow\u accept=true;
}
}
}
 
 
 
和lisp:(lisp的一部分,它很大)8设置对话框参数)
 
(defun setit(模式/列表页面)
(条件
(=模式1)
(setq lista(列表“PROD01”“PROD02”“PROD03”)
“PROD04”“PROD041”“PROD05”
“PROD06”“PROD061”“PROD07”
“PROD08”“PROD09”
)
)
)
 
(=模式2)
(setq lista(列表“PROD03”“PROD05”“PROD09”))
)
)
(每个页面的页面列表
(set_平铺页面“0”)
)
(每页列表A
(set_tile第“1”页)
)
)
 
 
 
;;dialogin alustus公司
(if系列
(set_tile“SERIES”(strcase SERIES))
(set_tile“SERIES”“Finno”)
)
(setq p11 10)
(set_tile“PAAA1”(rtos P11 2))
(setq p12 0)
(set_tile“PAAA2”(rtos P12))
(setq p13 1500)
(set_tile“PAAA3”(rtos P13 2))
(setq p14 1500)
(set_tile“PAAA4”(rtos P14 2))
(setq p15 1500)
(set_tile“PAAA5”(rtos P15 2))
(setq p16 2500)
(set_tile“PAAA6”(rtos P16 2)
(setq p17 0.6667)
(set_tile“PAAA7”(rtos P17 2)
 
 
(如果项目
(set_tile“PROJECT”项目)
)
 
(设置1)
 
(set_tile“PROD05”“1”)
(set_tile“UPDATE”“0”)
(action_tile“accept”“(setq pagelist(prodok pagelist)))
(action_tile“cancel”“(exit)”)
;;(action\u tile“ALL”“(tilemode pagelist“1”)
(action\u tile“NONE”(tilemode页面列表“0”)
(action_tile“INS”“(setit 1)”)
(action_tile“PROD”“(setit 2)”)
 
 
;;Dialogi valmis käynnistettäväksi
(start_对话框)
(unload\u对话框dcl\u id)
(列出项目
(如果系列
(strcase系列)
""
)
页面列表
使现代化
)
)
 
 
LISP中的计算:(所有其他变量都可以,只有get_tile是问题)
 
(setq puuuu1(atof(get\u tile“PAAA1”))
(setq puuuu2(atof(get_tile“PAAA2”))
(setq puuuu3(atof(get_tile“PAAA3”))
(setq puuuu4(atof(get_tile“PAAA4”))
(setq PUUU5(atof(get_tile“PAAA5”))
(setq puuuu6(atof(get_tile“PAAA6”))
(setq PUUUU7(atof(get_tile“PAAA7”))
 
 
 
 
(setq lc_偏移量2(最小值(如果(
PUUU2
(如果(
PUUU4
(+PUUU5(*PUUU7(-korkeus2 PUUU5)))
)
)
PUUU6
)
)
 
无论我做什么,我都会出错:
; 错误:错误的参数类型:stringp nil
 
 
有人能给我引路吗?
 
BR。Eetu公司
回复

使用道具 举报

7

主题

29

帖子

22

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 13:42:10 | 显示全部楼层
我还尝试了dcl框中的值函数。给出其中的值并仅使用(setq puuuu1(atof(get\u tile“PAAA1”))
 
仍然会出现相同的错误。lisp中的所有其他值都已定义并正常工作。
如果我在计算中使用数字而不是变量puuuu1。。。Lisp程序很好用。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 07:04 , Processed in 0.422973 second(s), 56 queries .

© 2020-2025 乐筑天下

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