spaulus 发表于 2022-7-7 14:50:57

试图摆脱一个。shx fi

有些我是怎么用的。我的图形中的shx文件。。。我已经清除了所有内容,并将其清除,但每次我插入一个特定的块,弹出窗口就会告诉我,我错过了这个。shx文件。
 
我已经去了那个街区。。。它是一个非常简单的块,并将其清除,这样它也不会出现在那里,但不确定下一步要做什么。

cwake 发表于 2022-7-7 15:01:02

打开主图形时是否收到警告?该块是否已存在于该图形中,或者当消息出现时,您是否从外部源插入该块?我怀疑是线条风格,但我很想知道。你能寄一份图纸吗?

ReMark 发表于 2022-7-7 15:13:21

可能它正在寻找形状文件。块是否包含任何异常线型?

spaulus 发表于 2022-7-7 15:17:02

它似乎是一个形状文件。。。显然是谁创造了我用过的大部分积木。。。使用了名为RHPID的形状文件。shx,所以如果我在支持路径中没有该形状文件,那么我会请求它。。。我目前正在为一个客户绘制一些图纸,我不希望出现这个文件,所以试图摆脱它。。。我已经清除了主绘图中我可以清除的所有内容。。退出后又回来,它没有询问RHPID。shx文件。。。但当我试图插入一个简单的块,我使文件消息弹出。。。我已经进入了区块本身,并清除了那里的一切,我也没有得到它的消息,但当我插入它的消息出现?
 
哦,好吧。。。我删除了那个块并重新创建了它。。。现在似乎工作正常。
 
我想知道是否有办法搜索RHPID。shx,并将其替换为标准。shx文件?
 
谢谢
史蒂夫

spaulus 发表于 2022-7-7 15:28:00

它重新出现在昨天工作正常的新街区?
 
我不知道如何在这里粘贴图像。
 
谢谢
史蒂夫

ReMark 发表于 2022-7-7 15:33:34

形象对我们没有任何好处。另一方面,可能需要图形文件的副本。在下一篇文章中附上一个。点击Go Advanced按钮开始。

cwake 发表于 2022-7-7 15:40:43

一份图纸就好了。您也可以尝试我编写的这个例程,告诉您线型定义有哪些文件依赖关系

(defun c:ltfiles ( / lst2str a b c )

(defun lst2str ( strlst )
   (if (cdr strlst)
   (strcat (strcase (car strlst)) ", " (lst2str (cdr strlst)))
   (strcase (car strlst))
   )
   )

(setq b 0)
(while (setq a (tblnext "LTYPE" (not a)))
   (setq b (1+ b))
   ((lambda ( ln / lst )
      (foreach styl (mapcar
                      'cdr
                      (vl-remove-if-not
                        '(lambda ( x )
                           (= (car x) 340)
                           )
                        (entget (tblobjname "LTYPE" ln))
                        )
                      )
      (foreach file (mapcar
                        'cdr
                        (vl-remove-if-not
                        '(lambda ( x )
                           (and (< 2 (car x) 5)
                                  (/= (cdr x) "")
                                  )
                           )
                        (entget styl)
                        )
                        )
          (if (not (member file lst))
            (setq lst (cons file lst))
            )
          )
      )
      (if lst
      (progn
          (setq c T)
          (princ (strcat "\nLinetype " ln " references file(s): " (lst2str lst)))
          )
      )
      )
   (cdr (assoc 2 a))
   )
   )
(if c (textpage) (alert (strcat (itoa b) " linetypes processed & no shape files were found referenced.")))
(princ)
)

spaulus 发表于 2022-7-7 15:49:21

谢谢你克林特。。。但是我不知道如何使用上面的代码
 
史蒂夫

cwake 发表于 2022-7-7 15:55:28

嗨,史蒂夫,
 
将文本复制到文本编辑器中,并将其保存为“ltfiles.lsp”(文件名实际上并不重要,但为了简单起见,让我们将其与命令名保持相同)。
在AutoCAD中打开问题图形。将lisp文件从资源管理器中“拖放”到打开的AutoCAD图形中。
或者,这里是加载LISP文件的另一个很好的参考http://www.lee-mac.com/runlisp.html它提供了其他加载方法,如APPLOAD。
 
加载后,在命令行键入“ltfiles”。它将指示线型定义中引用了哪些形状文件。
如果您发现“RHPID.shx”是针对一个或多个线型定义列出的,那么它将告诉您从哪里开始解决问题。
如果它没有被列出(或者如果你得到一个警告框,告诉你没有找到形状文件引用),那么我们将不得不继续寻找它。
 
让我们知道你进展如何。
页: [1]
查看完整版本: 试图摆脱一个。shx fi