QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2199|回复: 6
打印 上一主题 下一主题
收起左侧

[求助] 自動轉換 層,顏色,線型

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-9 23:02:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 中国台湾

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
Autodesk Inventor 3D圖轉AutoCAD 每次都要一一改,層,顏色,線型
5 [$ a8 l/ Z- R7 ^4 ]求助,自動轉換 層,顏色,線型 .LSP
$ \' |3 D1 R& v, w) r9 D/ p如下圖 ) X$ d4 _: j2 h( Q, A5 v

4 i0 r1 V, S! A謝謝
2#
发表于 2009-12-10 19:32:52 | 只看该作者 来自: 中国浙江宁波
使用命令laytrans可以图层转换,只要你有一个含有标准图层设置的样本文件(dwt)就可以方便的映射转换了;" j& p1 S- E* w
8 M8 |  ?1 K. J/ I3 d7 S; y- V' \$ T  {
[ 本帖最后由 sealive_leafage 于 2009-12-10 19:34 编辑 ]

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 应助

查看全部评分

3#
 楼主| 发表于 2009-12-10 20:47:41 | 只看该作者 来自: 中国台湾
感謝樓上回復,不知哪裡可下載
4#
发表于 2009-12-10 21:51:37 | 只看该作者 来自: 中国江苏无锡
原帖由 BILL.PU 于 2009-12-10 20:47 发表 http://www.3dportal.cn/discuz/images/common/back.gif0 Y! @* g3 J3 p% C
感謝樓上回復,不知哪裡可下載
& P- t3 n) E# `6 g& {
不用下载,这是CAD自带的一个功能。位置就在菜单“工具”——“CAD标准”——“图层转换器”或者输入命令LAYTRANS就可以了。5 p1 D2 u' P( F; i0 I+ a, L

评分

参与人数 1三维币 +3 收起 理由
2005llnn + 3 应助

查看全部评分

5#
 楼主| 发表于 2009-12-11 19:27:33 | 只看该作者 来自: 中国台湾
謝謝指導!試過後不是個人所需,相同層只能同一顏色同一線型
- u) b- l' E/ p' T- J所以需要寫程式
6#
发表于 2009-12-11 21:17:15 | 只看该作者 来自: 中国
VBA代码,供参考

  1. + ^( c- l, i3 r, h* A$ ?7 W
  2. Sub A()& q" u- M6 _  n# c6 H8 m1 a1 V  F
  3.     Dim E As AcadEntity4 T$ Q  V0 J4 b+ o" }4 D. ^: S+ x
  4.     ThisDrawing.Layers.Add "AA"
    ' x8 \, r  z* \# T8 g+ V
  5.     LoadLineType "HIDDEN"# P( V! R5 t5 e: S) x( s
  6.     LoadLineType "CENTER"  x# L( ?$ r" p) L
  7.     For Each E In ThisDrawing.ModelSpace) m6 L1 I' B! T% F" j. n
  8.         Select Case E.Layer
    4 L9 t, t: s& g: a0 i
  9.             Case "可见(ISO)"
    $ c3 J% f  m/ T! n
  10.                 E.color = 7
    0 u. ^( }8 }6 `- Z% D2 L
  11.                 E.Linetype = "Continuous"3 X6 T$ f7 @  V/ }+ }
  12.             Case "窄部可见(ISO)"/ X$ M" \- o0 l+ w
  13.                 E.color = 5
    ) {5 O* }$ c4 U2 |+ |2 d/ B1 B8 t
  14.                 E.Linetype = "Continuous"
    0 W3 I% |0 G# W5 r
  15.             Case "隐藏(ISO)"/ Z# i7 T2 O  d% F
  16.                 E.color = 46 ~* B9 x# c4 z) z& R
  17.                 E.Linetype = "HIDDEN"7 u! A0 z# O: C* r5 k# K3 F
  18.             Case "中心线(ISO)", "中心标记(ISO)"
    1 s5 v, g/ ]* g8 ?
  19.                 E.color = 1
    7 y, q& d7 G  u
  20.                 E.Linetype = "CENTER"
    8 K2 J* d/ r- Z. |" C3 G4 d
  21.         End Select& O5 c; I. F5 q% P1 d' b
  22.         E.Layer = "AA"& r$ ]# c7 \6 G$ ]  X
  23.     Next( w6 H! Q* O8 ~5 n- r2 p8 c1 s
  24. End Sub
    + i( \  G0 O" t- d( [

  25. 9 h$ l; A  ]" Q/ G
  26. Private Sub LoadLineType(S As String)9 F  ?' v/ q' ]6 J: I: p
  27.     Dim T As AcadLineType, B As Boolean
    # A% Z" \' I  _
  28.     For Each T In ThisDrawing.Linetypes
    9 e3 Z8 Q4 n, u) _4 s
  29.         If T.Name = S Then3 h; Z* p/ m/ M2 g. F6 Y
  30.             B = True, ]0 E5 ?! z3 h; K3 z4 v
  31.             Exit For7 Y  {6 q3 t& b* l2 @
  32.         End If
    $ Z1 G" q- g) Y' p
  33.     Next
    8 `$ Q4 j5 A: N8 w2 |; \" a9 `
  34.     If Not B Then ThisDrawing.Linetypes.Load S, "acadiso.lin"+ Y; S9 I) H  B- a- l- o
  35. End Sub
    7 c+ A* s: H# t0 Z6 D
复制代码

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 应助

查看全部评分

7#
发表于 2010-1-2 17:55:56 | 只看该作者 来自: 中国广东汕头
用下面的程序:
) [; g! k0 M; y# Z3 H/ c+ ?(if (not (tblsearch "layer" "xuxian")). d2 X8 ]) v+ m! Z. N
    (command "layer" "n" "xuxian" "l" "hidden" "xuxian" "c" "3" "xuxian" "")
# X+ }/ w( U% \% ^    )                                                 ;;;上面是你图上无xuxian层它自动去建立。. ]8 R0 @3 \. \
                           ;;;你是在同一层上画了不同的线型
1 N7 z# p3 C) v3 ~6 I(defun c:chgla ()
& P) I5 J. M" v: }* R  (setq en (ssget "all") n (sslength en) i 0)- t' H# \( c3 |, I8 T. A% Q) O
  (repeat n
( `0 ^. n9 T( }% P8 L! B+ h    (setq ee (ssname en i) en1 (entget ee) linee (cdr (assoc 6 en1)))    ;;;只有在同一层上画了不同的线型有6
: D* f' C4 \4 F/ |6 l7 ~) ^    (if (= linee "HIDDEN")
& P" b' ^9 ?' t0 M1 S- a8 ^4 X( J       (command "change" ee """p" "la" "xuxian" "")
0 w: F, M0 G' I5 g: l5 B$ E6 Z* f      )
6 x  @* Y& A( C1 t4 \6 l( v    (setq i (+ i 1))
! h, C! K# C/ j4 P2 z4 [$ U; P   )! _6 m5 c- ^* a- ^" s: j) H0 k
)
8 D$ i4 G3 f. {; _% W8 A7 v8 G  5 v' S7 \& O+ ^$ G
用上面的方法可去把不同的线型分出去。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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