找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4233|回复: 21

[文字] 对话框文字输入

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-8-23 12:51:25 | 显示全部楼层 |阅读模式
  • 插件名称 : 文字输入
  • 作  者 : newer
  • 运行环境 :XDRX API OpenDCL 晓东工具箱 
  • 发布时间 :2018-08-23
  • 命令名称 :xdtb_txtinput
  • 插件介绍 :对话框文字输入
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 newer 于 2018-11-14 22:20 编辑

插入时候,可以动态的调整方向

命令:
〖移动〗插入点或{改基点[T]/改转角[R]/转90度[A]/对齐[F]/回退[U]/}<退出>:


搜狗截图20180823124952.png
对话框写字.gif

  1. (defun XD::Var:getDrawingScale ( / e u)
  2.   (setq e (xdrx_object_get "layer" "0"))
  3.   (setq #XD_Var_Global_Draw_Scale (car (xdrx_object_getxdata e "#XD_Var_Global_Draw_Scale")))
  4.   (if (not #XD_Var_Global_Draw_Scale)
  5.     (progn
  6.       (if (= 0 (XD::Registry:GetVar "DrawingUnit"))
  7.         (progn
  8.           (XD::Var:SetDrawingScale 1000)
  9.           (setq #XD_Var_Global_Draw_Scale 1000)
  10.         )
  11.         (progn
  12.           (XD::Var:SetDrawingScale 100)
  13.           (setq #XD_Var_Global_Draw_Scale 100)
  14.         )
  15.       )
  16.     )
  17.   )
  18.   #XD_Var_Global_Draw_Scale
  19. )
  20. (defun c:XDTB_TXTINPUT (/ txt TxtBox txtH TxtHeight TxtInput)
  21.   (defun *error* (msg)
  22.     (princ msg)
  23.     (xdrx_entity_delete etxt)
  24.     (xdrx_end)
  25.   )
  26.   (defun c:Cancel_OnClicked (/) (dcl_Form_Close TxtInput))
  27.   (defun c:TxtInput_OnInitialize (/)
  28.     (dcl-control-setfocus TxtBox)
  29.     (dcl_TextBox_SetSel TxtBox 0 -1)
  30.     (dcl-Control-SetText TxtBox "")
  31.   )
  32.   (defun c:ok_OnClicked (/)
  33.     (setq txt  (dcl_Control_GetText TxtBox)
  34.           txtH (dcl_ComboBox_GetEBText TxtHeight)
  35.     )
  36.     (if (/= "" txt)
  37.       (progn (dcl_Form_Close TxtInput)
  38.              (setq TxtH (* (xd::var:getdrawratio) (atof TxtH)))
  39.         (setq etxt (xdrx_text_make '(0 0 0) txt txth (xdrx_vector_angle (getvar "ucsxdir"))))
  40.         ;(xd::drag:simpleMove (entlast) "\n插入点:" 5 t)
  41.         (if (not (XD::Pickset:Drag etxt (xdrx_getpropertyvalue etxt "9pt" 5) (+ 1 2 4 128) 0 nil))
  42.           (xdrx_entity_delete etxt)
  43.         )
  44.       )
  45.       (progn (dcl_MessageBox "文字不能为空.\n" "温馨提示")
  46.              (dcl_TextBox_SetSel TxtBox 0 -1)
  47.       )
  48.     )
  49.   )
  50.   (xdrx_sysvar_push '("osmode" 0 "cmdecho" 0 "orthomode" 0))
  51.   (if (XD::Doc:AutoLoadOpenDCL)
  52.     (progn (dcl_Project_Load
  53.              (*ODCL:Samples:FindFile "XDOB_DCL.odcl")
  54.              t
  55.            )
  56.            (dcl_Form_Show TxtInput)
  57.     )
  58.   )
  59.   (setq *error* nil)
  60.   (xdrx_end)
  61.   (xdrx_sysvar_pop)
  62.   (princ)
  63. )



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-11-14 22:17:00 | 显示全部楼层
renyonghua2014 发表于 2018-11-14 21:41
版主,我在最新的11-11晓东工具箱中运行该程序,输入字后确认,为什么会出现:
参数类型错误: numberp: ni ...

重新拷贝下代码,试试

点评

N版主,请指点: 脱离晓东工具箱,只安装XD API的情况下,加载源码.LSP,出现: no function definition: *ODCL:SAMPLES:FINDFILE 提示。 我从SAMPLES中将函数找到加进.lsp中,同时将XDOB_DCL.odcl(从工具箱文  详情 回复 发表于 2018-11-24 11:51
N版主,大神啊,OK了,赞!  详情 回复 发表于 2018-11-14 23:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 8613个

财富等级: 富甲天下

发表于 2018-8-23 14:41:38 | 显示全部楼层
有一点不好,不论是点击右键取消还是按esc取消,左下角生成的文字就留在那里了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8613个

财富等级: 富甲天下

发表于 2018-8-23 14:50:10 | 显示全部楼层
在(XD::Pickset:Drag (entlast) (xdrx_getpropertyvalue (entlast) "9pt" 5) (+ 1 2 4 128) 0 nil)下面加一句
(if (< (ACET-SYS-KEYSTATE 27) 0)
               (entdel (entlast))
)
可以按esc取消,右键怎么实现?

点评

加一个IF就行,右键回车取消 (if (not (XD::Pickset:Drag (entlast) (xdrx_getpropertyvalue (entlast) "9pt" 5) (+ 1 2 4 128) 0 nil)) (entdel (entlast)) )  详情 回复 发表于 2018-8-23 15:58
自己定义个*error* 你要什么右键?  详情 回复 发表于 2018-8-23 15:05
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-8-23 15:05:05 | 显示全部楼层
liuyj 发表于 2018-8-23 14:50
在(XD::Pickset:Drag (entlast) (xdrx_getpropertyvalue (entlast) "9pt" 5) (+ 1 2 4 128) 0 nil)下面加一 ...

自己定义个*error*

你要什么右键?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 53个

财富等级: 招财进宝

发表于 2018-8-23 15:12:17 | 显示全部楼层
下载下来学习了!!!!!!!!!!!!!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 42个

财富等级: 招财进宝

发表于 2018-8-23 15:17:15 | 显示全部楼层
比较魔性的功能,我一般都是DT
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3534个

财富等级: 富可敌国

发表于 2018-8-23 15:37:48 | 显示全部楼层
学习了,谢谢提供!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2018-8-23 15:58:37 | 显示全部楼层
liuyj 发表于 2018-8-23 14:50
在(XD::Pickset:Drag (entlast) (xdrx_getpropertyvalue (entlast) "9pt" 5) (+ 1 2 4 128) 0 nil)下面加一 ...

加一个IF就行,右键回车取消

(if (not (XD::Pickset:Drag (entlast) (xdrx_getpropertyvalue (entlast) "9pt" 5) (+ 1 2 4 128) 0 nil))
   (entdel (entlast))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1827个

财富等级: 堆金积玉

发表于 2018-8-23 16:20:04 | 显示全部楼层
要是能点击修改多行文字就好了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 100个

财富等级: 招财进宝

发表于 2018-8-23 17:04:46 | 显示全部楼层
好插件谢谢楼主了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 233个

财富等级: 日进斗金

发表于 2018-8-30 10:10:03 | 显示全部楼层
挺炫的功能 赞
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 117个

财富等级: 日进斗金

发表于 2018-9-2 18:03:21 | 显示全部楼层
好插件谢谢楼主了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 418个

财富等级: 日进斗金

发表于 2018-11-14 21:41:19 | 显示全部楼层
版主,我在最新的11-11晓东工具箱中运行该程序,输入字后确认,为什么会出现:
参数类型错误: numberp: nil
我拷贝源码加载也是同样的提示,怎么回事,请解惑,谢谢。

点评

重新拷贝下代码,试试  详情 回复 发表于 2018-11-14 22:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 418个

财富等级: 日进斗金

发表于 2018-11-14 23:19:32 | 显示全部楼层
newer 发表于 2018-11-14 22:17
重新拷贝下代码,试试

N版主,大神啊,OK了,赞!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-26 15:36 , Processed in 0.572457 second(s), 67 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表