CAD能否编程以实现一个图层有这样的效果?
本帖最后由 mokson 于 2018-5-9 08:26 编辑在CAD主窗口里创建一个图层,但这个图层很特别,是一个固态层,
也就是说这个图层上的对象是固定的,置顶的,且不会因为随着鼠标的平移或缩放而改变其位置或大小。
我不懂编程,不知道这样的图层会不会可能实现?
我想是不是 application , mainwindow 这些对象的子对象属性呢?求知,谢谢。
0层不就可以 布局
也就是图纸空间试试 多线程加 grdraw edata 发表于 2018-5-9 23:51
多线程加 grdraw
不明白,可否来个代码例子? 注意,以下代码可能会出现不可描述的问题,请注意一定要在新开的cad中进行测试。
该例子正常运行后会在绘图区绘制红色对角线一根。
代码采用的是高飞鸟的定时器方案,详见帖子
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=107012&extra=page%3D2%26filter%3Dtypeid%26typeid%3D108
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=90447&page=1&extra=#pid604291
(defun C:killTimer()
(HFB_KillLispTimer)
(princ)
)
(defun zj-get-scr-coods (/ half_h half_w pt_cen lst ptx pty)
(setq pt_cen (trans (GETVAR "VIEWCTR") 1 2)
ptx (car pt_cen)
pty (cadr pt_cen)
half_h (* 0.5 (GETVAR "VIEWSIZE"))
half_w (* half_h (/ (car (GETVAR "SCREENSIZE")) (cadr (GETVAR "SCREENSIZE"))))
)
(LIST (LIST (- ptx half_w) (- pty half_h)) (LIST (+ ptx half_w) (+ pty half_h)))
)
(defun c:tt()
(defun TimerCallback5 (hWnd nMsg nTimerid dwTime)
(setq pts(zj-get-scr-coods))
(redraw)
(grdraw (car pts)(cadr pts) 1)
)
(HFB_KillLispTimer)
(setq t5 (HFB_SetLispTimer "TimerCallback5" 50 ))
(vl-bb-set 't5 t5)
)
本帖最后由 mokson 于 2018-5-13 08:37 编辑
我将它保存为 lsp 文件后并加载到CAD,然后运行命令: KILLTIMER,
提示错误: no function definition: HFB_KILLLISPTIMER
即:未定义函数:HFB_KILLLISPTIMER
代码采用的是高飞鸟的定时器方案
相关插件在哪个网址里面。。。 是想一直屏幕显示某些东西吧 这个用ARX实现容易些
页:
[1]