【组装工】视图控制之菜鸟粗糙版
本帖最后由 tigcat 于 2024-1-28 11:31 编辑由于dcl水平很低,所以我用了阿甘大侠的图层控制源码中关于dcl的部分,希望大侠不要介意我胡拼乱凑,本人在此声明:凡是感觉程序水平低劣不合理的地方均是本人所为,不给大侠抹黑。
功能说明,在图纸操作中,平移缩放是非常常用的操作,当视图的移动范围不大时通过滚轮比较方便。但频繁按住滚轮平移比较辛苦。最近也许年纪大了,突然在改图中觉得手腕疼,于是萌发了做这么一个视图工具。
作用:是可以在视图中做个记号,程序预存了8个视图标签,可以快速切换到这8个视图。
优点,可以不通过滚轮实现大幅度跨越。
缺点。需要加载后用命令调出面板,如果可以实现面板悬浮,程序实用性将增强。
程序不收明经币,但是希望大家可以在评分中打个分送点币给我,好学习前辈和其他大侠的程序,谢谢!
20240128增加一个opendcl支持的非模态点跳转,能够在命令使用过程中跳转到记忆点。
按以下修改,可以支持布局,模型空间
;;; 保存视图1
(defun c:v-1 ()
(if (= 0 (setq *BC_1_tilemode* (getvar "tilemode"))) ;记录当前视图状态
(setq *BC_1_cvport* (getvar "cvport")) ;记录当前视图状态
)
(if (tblobjname "view" "S1") ;查找视图S1
(command "-view" "D" "S1") ;删除视图S1
)
(command "-view" "S" "S1") ;保存视图S1
(princ)
)
;;; 恢复视图1
(defun c:r-1 ()
(if (= 1 *BC_1_tilemode*)
(setvar "tilemode" 1)
(progn
(setvar "tilemode" 0)
(setvar "cvport" *BC_1_cvport*)
)
)
(command "-view" "R" "S1") ;恢复视图S1
(princ)
) tigcat 发表于 2021-8-5 19:14
面板悬浮要用到lisp以外的程序语言编程,这个我没有精力和能力去钻研,只能凑合用,如果有高手 ...
论坛里高飞鸟大侠的HFB_AddPane就能实现你的要求,无需悬浮,直接在CAD下面状态栏上点
http://bbs.mjtd.com/forum.php?mod=redirect&goto=findpost&ptid=90447&pid=496301&fromuid=400853
只可惜最高只支持到CAD2014
牛牛牛!!!! 谢谢评分的大侠,谢谢路过的坛友,请高手出来修改提建议。 本帖最后由 999999 于 2020-12-21 14:17 编辑
顶起顶起,这是一个好的想法与思路,由其是一个电脑屏幕设四个窗口就差不多了,再多就更不方便了,有这样的插件,还是挺好的, 有这样的插件,还是挺好的, 很好的思路,学习一下 没有看明白具体用处在哪里?这和滚轮比,没有滚轮方便吧。
很好的思路,學習一下很好的思路,學習一下 rocking2008 发表于 2020-12-22 12:04
没有看明白具体用处在哪里?这和滚轮比,没有滚轮方便吧。
这个固定的几个视图中来回移动可能比较方便。程序功能比较简单,可以只作为一种思路提供给大家。我觉得应该还是有用的。如果图很大,需要在两个地方来回切换,这个比滚轮来的快。
tigcat 发表于 2020-12-22 14:05
这个固定的几个视图中来回移动可能比较方便。程序功能比较简单,可以只作为一种思路提供给大家。我觉得应 ...
明白了,这个如果图比较大的时候是有用的。这个要是做成标签样式的更好,按Q命令调出DCL的确有点累。