明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: sachindkini

help me to create Layers

  [复制链接]
 楼主| 发表于 2011-7-18 20:20:24 | 显示全部楼层
回复 Gu_xl 的帖子

dear sir,
thx for u r time
autocad version is 2012
发表于 2011-7-18 21:38:35 | 显示全部楼层
回复 sachindkini 的帖子

Please add this code at first:
(regapp "AcAecLayerStandard")
 楼主| 发表于 2011-7-19 13:14:04 | 显示全部楼层
Dear sir
some error
  1. Command: makelayers
  2. ; error: too many arguments
复制代码
发表于 2011-7-19 18:18:41 | 显示全部楼层
本帖最后由 Gu_xl 于 2011-7-19 18:19 编辑

回复 sachindkini 的帖子


(defun c:MakeLayers nil (vl-load-com)  
  ;; © Lee Mac 2010
  ;;----------------------------------------------------------------------------------------------;;
  ;; Specifications:                                                                              ;;
  ;;----------------------------------------------------------------------------------------------;;
  ;; Description         Data Type       Remarks                                                  ;;
  ;;----------------------------------------------------------------------------------------------;;
  ;; Layer Name          STRING          Only standard chars allowed.                             ;;
  ;; Layer Colour        INTEGER         may be nil, -ve for Layer Off, Colour < 256              ;;
  ;; Layer Linetype      STRING          may be nil, If not loaded, CONTINUOUS.                   ;;
  ;; Layer Lineweight    REAL            may be nil, negative=Default, otherwise 0 <= x <= 2.11   ;;
  ;; Plot?               BOOLEAN         T = Plot Layer, nil otherwise                            ;;
  ;; Bit Flag            INTEGER         0=None, 1=Frozen, 2=Frozen in VP, 4=Locked               ;;
  ;; Description         STRING          may be nil for no description                            ;;
  ;;----------------------------------------------------------------------------------------------;;
  ;; Function will print list detailing any unsuccesful layers                                    ;;
  ;;----------------------------------------------------------------------------------------------;;
(regapp "AcAecLayerStandard")  
(
    (lambda ( lst )
      (mapcar 'print
        (vl-remove-if 'cdr
          (mapcar
            (function
              (lambda ( x )
                (and (caddr x) (LM:LoadLinetype (caddr x))) (cons (car x) (apply 'MakeLayer x))
              )
            )
            lst
          )
        )
      )
    )
   '(
    ;  Name                 Colour   Linetype    Lineweight Plot? Bitflag  Description
    ( "EL_COMPONENTS"            7  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_CONSTR_COMP"           1  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_FITTINGS"              4  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_LABEL"                 1  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_LABEL_TXT"           252  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_TERMINALS"             1  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_TERMINALS_PE"         24  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_TERMINALS_TXT"       252  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_TXT"                 252  "CONTINUOUS"     -3       T      0      nil  )
    ( "EL_WIRES"               252  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_ANNOTATION"            7  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_LABEL"                10  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_LABEL_TEXT"          253  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_TXT_LANGUAGE_DU"     252  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_TXT_LANGUAGE_EN"     252  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_TXT_LANGUAGE_FR"     252  "CONTINUOUS"     -3       T      0      nil  )
    ( "GE_TXT_LANGUAGE_GE"     252  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_HEADER_FRAME"          7  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_HEADER_TXT"            7  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_MATLIST"             254  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_MATLIST_FRAME"       254  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_MATLIST_POS"         254  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_MATLIST_TXT"         252  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_TITLE_FRAME"           7  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_TITLE_LOGO"           10  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_TITLE_LOGO_TXT"        7  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_TITLE_TXT"             7  "CONTINUOUS"     -3       T      0      nil  )
    ( "LA_VIEWPORTS"           230  "CONTINUOUS"     -3      nil     0      nil  )
    ( "PN_ACCESSORIES"          30  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_ACTUATORS"           160  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_AIR_LINE_EQUIPMENT"   40  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_BRACKET_MOUNTING"      1  "ACAD_ISO12W100" -3       T      0      nil  )
    ( "PN_CABINET"               8  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_CABINET_DIM"           8  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_COMPONENTS"            7  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_CONDUCTS"              3  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_CONSTR_COMP"           2  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_DRAIN"                 3  "HIDDEN"         -3       T      0      nil  )
    ( "PN_EXHAUST"             104  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_FITTINGS"             30  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_IDENTIFICATION"        4  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_PILOT_SUPPLY"          3  "HIDDEN"         -3       T      0      nil  )
    ( "PN_PORT_NUMBERS"          8  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_PRESSURE_SWITCHES"   200  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_PROPORTIONAL_VALVES" 226  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_SECTIONS"              3  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_SUB-BASES"             8  "ACAD_ISO12W100" -3       T      0      nil  )
    ( "PN_SUB-BASE_CONDUCTS"     2  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_SUPPLY"                3  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_TXT"                   3  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_VACUUM"               60  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_VALVES"              240  "CONTINUOUS"     -3       T      0      nil  )
    ( "PN_VALVES_OVERRIDE"       1  "CONTINUOUS"     -3       T      0      nil  )
    )
  )
  (princ)
)
(defun MakeLayer ( name colour linetype lineweight willplot bitflag description )
  ;; &copy; Lee Mac 2010
  (or (tblsearch "LAYER" name)
    (entmake
      (append
        (list
          (cons 0 "LAYER")
          (cons 100 "AcDbSymbolTableRecord")
          (cons 100 "AcDbLayerTableRecord")
          (cons 2  name)
          (cons 70 bitflag)
          (cons 290 (if willplot 1 0))
          (cons 6
            (if (and linetype (tblsearch "LTYPE" linetype))
              linetype "CONTINUOUS"
            )
          )
          (cons 62 (if (and colour (< 0 (abs colour) 256)) colour 7))
          (cons 370
            (if (minusp lineweight) -3
              (fix
                (* 100
                  (if (and lineweight (<= 0.0 lineweight 2.11)) lineweight 0.0)
                )
              )
            )
          )
        )
        (if description
          (list
            (list -3
              (list "AcAecLayerStandard" (cons 1000 "") (cons 1000 description))
            )
          )
        )
      )
    )
  )
)
;;--------------------=={ Load Linetype }==-------------------;;
;;                                                            ;;
;;  Attempts to load a specified linetype from any linetype   ;;
;;  definition files (.lin) found in the ACAD Support Path    ;;
;;------------------------------------------------------------;;
;;  Author: Lee Mac, Copyright &copy; 2011 -                              ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  lt - name of linetype to load                             ;;
;;------------------------------------------------------------;;
;;  Returns:  T if linetype loaded successfully, else nil     ;;
;;------------------------------------------------------------;;
(defun LM:LoadLinetype ( lt ) (vl-load-com)
  ;; &copy; Lee Mac 2010
  
  (cond
    ( (tblsearch "LTYPE" lt) )
    ( (progn
        (or acdoc (setq acdoc (vla-get-ActiveDocument (setq acapp (vlax-get-acad-object)))))
        (or aclts (setq aclts (vla-get-Linetypes acdoc)))
        (vl-some
          (function
            (lambda ( file )
              (vl-catch-all-apply 'vla-load (list aclts lt file))
              (and (tblsearch "LTYPE" lt))
            )
          )
          (setq *LineTypeDefs*
            (cond
              ( *LineTypeDefs* )
              (
                (apply 'append
                  (mapcar '(lambda ( directory ) (vl-directory-files directory "*.lin" 1))
                    (LM:str->lst
                      (vla-get-SupportPath (vla-get-Files (vla-get-Preferences acapp))) ";"
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )  
)
;;-------------------=={ String to List }==-------------------;;
;;                                                            ;;
;;  Separates a string into a list of strings using a         ;;
;;  specified delimiter string                                ;;
;;------------------------------------------------------------;;
;;  Author: Lee Mac, Copyright &copy; 2011                         ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  str - string to process                                   ;;
;;  del - delimiter by which to separate the string           ;;
;;------------------------------------------------------------;;
;;  Returns:  A list of strings                               ;;
;;------------------------------------------------------------;;
(defun LM:str->lst ( str del / pos )
  ;; &copy; Lee Mac 2010
  (if (setq pos (vl-string-search del str))
    (vl-remove "" (cons (substr str 1 pos) (LM:str->lst (substr str (+ pos 1 (strlen del))) del)))
    (list str)
  )
)
 楼主| 发表于 2011-7-19 18:34:27 | 显示全部楼层
回复 Gu_xl 的帖子

Dear sir
error
  1. MAKELAYERS
  2. ; error: bad DXF group: (-3 ("AcAecLayerStandard" (1000 . "") (1000 . TYR)))
复制代码
发表于 2011-7-19 18:47:48 | 显示全部楼层
回复 sachindkini 的帖子

(list -3 (list "AcAecLayerStandard" '(1000 . "") (cons 1000  TYR)))
 楼主| 发表于 2011-7-19 19:29:09 | 显示全部楼层
dear sir
not solve this problem
  1. Command: makelayers
  2. ; error: too many arguments
  3. *Cancel*
复制代码
发表于 2011-7-19 21:40:56 | 显示全部楼层
回复 sachindkini 的帖子

14F‘s code run correct!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 02:22 , Processed in 0.190015 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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