明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1299|回复: 13

[提问] 诡异的视口,让我摸不着头脑,求助。

[复制链接]
发表于 2023-2-24 09:52:20 | 显示全部楼层 |阅读模式
本帖最后由 mokson 于 2023-2-24 09:54 编辑

右边是我自己创建的视口,是正常的。
左边是原图里的视口,但会隐藏许多对象,这功能也挺实用的。
但是又没有隐藏图层呀,它究竟是用什么原理实现的呢?
特此请教大佬们!


附上文件:

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-2-24 11:39:24 | 显示全部楼层
你这是诡异的问题阿
回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-24 18:48:37 | 显示全部楼层

  1. (defun c:FE ()(command "LAYFRZ" ));冻结关闭视口内图层

  2. ;;;打开视口内所有图层
  3. (defun c:fr (/ ssent laList i)

  4.   (if (= (getvar "tilemode") 1)
  5.     (setvar "tilemode" 0)
  6.   )
  7.   (if (/= (getvar "cvport") 1)
  8.     (command "_PSPACE")
  9.   )
  10.   (if (setq ssent (ssget '((0 . "VIEWPORT"))))
  11.     (progn
  12.       (setq i 0)
  13.       (repeat (sslength ssent)
  14.         (if (/=        ""
  15.               (setq laList (LA:GetFreezeLayerForView
  16.          (vlax-ename->vla-object (ssname ssent i))
  17.        )
  18.               )
  19.             )
  20.           (command "_.vplayer" "T" laList "S" (ssname ssent i) "" "")
  21.         )
  22.         (setq i (1+ i))
  23.       )
  24.     )
  25.   )
  26.   (princ)
  27. )
  28. (defun LA:GetFreezeLayerForView  (VpObj / xt xd lyrlst a b)
  29.   (vla-getxdata VpObj "ACAD" 'xt 'xd)
  30.   (mapcar 'set
  31.     '(xt xd)
  32.     (list (safearray-value xt) (safearray-value xd))
  33.   )
  34.   (setq lyrlst "")
  35.   (mapcar '(lambda (a b)
  36.              (if (= a 1003)
  37.                (setq lyrlst (strcat lyrlst (strcase (variant-value b))  ","))
  38.              )
  39.            )
  40.     xt
  41.     xd
  42.   )
  43.   lyrlst
  44. )

  45. ;;;;====================图层工具===================================
  46. ;        隔离图层,选择层除外,关闭其它所有层
  47. (defun c:r1(/ x)
  48.         (vl-cmdf "LAYISO" "s" "o" "o" )
  49.         (princ )
  50. )
  51. ;        *打开所有层
  52. (defun c:r2( / )
  53.         (vl-cmdf "layer" "on" "*" "")
  54.         (princ )
  55. )
  56. (defun c:r3(/ x)
  57.         (IF (setq e (car(entsel"\n选择对象关闭所在图层")))
  58.                 (progn
  59.                         (setq lay (cdr(assoc 8 (entget e))))
  60.                         (cond
  61.                                 ((and (= lay (getvar "CLAYER")) (/= lay "0"))
  62.                                         (progn
  63.                                                 (setvar "CLAYER" "0")
  64.                                                 (vla-put-layeron(vlax-ename->vla-object(tblobjname "LAYER" lay)):vlax-false)
  65.                                         )
  66.                                 )
  67.                                 ((/= lay (getvar "CLAYER"))
  68.                                         (vla-put-layeron(vlax-ename->vla-object(tblobjname "LAYER" lay)):vlax-false)
  69.                                 )
  70.                                 ((and (= lay (getvar "CLAYER")) (= lay "0"))
  71.                                         (princ"当前图层和对象图层都在0层,请重新执行")
  72.                                 )
  73.                         )
  74.                 )
  75.         )
  76.         (princ)
  77. )
  78. (defun c:r4(/ x)
  79.         (vl-cmdf "LAYvpi" )
  80.         (princ )
  81. )


 楼主| 发表于 2023-2-24 10:48:06 | 显示全部楼层
本帖最后由 mokson 于 2023-2-24 10:51 编辑
xiaocainiao 发表于 2023-2-24 10:11
这不是最基础的视口操作吗、把视口内的图层冻结就行了、是视口内冻结、不是全部冻结那个太阳图标

感谢各位大佬的指点,原来是视口冻结是这样用的。
以前没有深入研究过,真是学艺不精呀。
原来双击进入视口,才可以进行冻结操作。
见笑了。

点评

这基本的视口功能,看来还是有大量的用户不知道...  发表于 2023-2-24 17:13
发表于 2023-2-24 10:05:05 | 显示全部楼层
看看是不是设置了现实深度,或者渲染模式
 楼主| 发表于 2023-2-24 10:08:40 | 显示全部楼层
mikewolf2k 发表于 2023-2-24 10:05
看看是不是设置了现实深度,或者渲染模式

两个视口都是线框模式。你下载附件看看。
发表于 2023-2-24 10:11:45 | 显示全部楼层
这不是最基础的视口操作吗、把视口内的图层冻结就行了、是视口内冻结、不是全部冻结那个太阳图标
发表于 2023-2-24 10:14:13 | 显示全部楼层
视口内图层冻结操作

本帖子中包含更多资源

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

x
发表于 2023-2-24 10:18:49 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2023-2-24 15:10:08 来自手机 | 显示全部楼层
图层状态管理器琢磨一下,模型画图,布局出图
发表于 2023-2-24 17:14:30 | 显示全部楼层
layfrz 命令中也是可以设置是 VPFreeze还是Freeze的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 10:35 , Processed in 0.201964 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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