找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 569|回复: 10

[求助]:如何像加载ARX文件一样加载“VLX”格式的文件?

[复制链接]
发表于 2004-9-6 10:40:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
ARX文件加载可以写一个RX文件,将所有的ARX文件名加入其中,然后放入CAD搜索目录下,待CAD运行时就会自动加载!那么VLX文件有什么办法可以令它自动加载呢???


谢谢!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-9-6 13:29:51 | 显示全部楼层
 加载方法和.arx完全一样,在工具-加载应用程序--里,在自动加载的文件名的扩展名中选含VXL的即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-10 21:31:07 | 显示全部楼层
有命令行的加载方式么?如(autoload)之类的,我也急需。急呀……
---------------------===================
经过试验(load)可以解决这个问题,看:
  1. 命令: (load "D:\\chen\\temp\\gq.vlx")

  2.   GQ V2.4已加载,以GQ启动命令。nil

  3. 命令: gq
  4. 请指定钢筋编号圈位置:
  5. 命令:
复制代码

---------------------===================
可是不知道怎样象(autoload)一样自动加载
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-10-24 15:58:23 | 显示全部楼层
自动加载问题论坛早有讨论,ARX除了在 RX 文件加载,更狠的是写到注册表了,只要CAD启动就加载。

Lsp 和 Vlx 加载不能采用上述两种方法,但是也可以做到自动加载。

1 将加载语句写入到 acadxxxxdoc.lsp(不同版本名称会有所区别) 或者 acad.lsp 文件中
2 写入到一个与加载菜单同名的mnl文件中
3 写入到 appload 的启动项中(此招有时不灵,原因不明)

自己用的工具推荐使用方法 2 ,保证加载菜单的同时添加菜单所作路径的功能参考本人以前发的帖子
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-24 16:52:59 | 显示全部楼层
有和autoload一样功能的吗?用的时候自动加载,不用的时候不加载,可以省些内存。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-10-24 23:07:12 | 显示全部楼层
最初由 urljit 发布
[B]有和autoload一样功能的吗?用的时候自动加载,不用的时候不加载,可以省些内存。 [/B]

用 autoload 写入到上述Lisp或者mnl中加载,参考晓东工具箱中xdsoft.mnl 中的写法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-25 06:53:45 | 显示全部楼层
以下是xdsoft.mnl

  1. (autoload "xdtb_object"
  2.           '("XDTB_EntXScale"
  3.             "XDTB_EntSclByPnt"
  4.            )
  5. )
  6. (autoload "lyrtool"
  7.           '("slayres" "slayoff" "lay_set_cur" "laychg")
  8. )
  9. (autoload "obj_layer"
  10.           '("XDTB_LayerIso"           "XDTB_LayerRes"
  11.             "lay_set_cur"           "laychg"
  12.             "XDTB_LayerMatch"           "XDTB_LayerCopy"
  13.             "XDTB_LayerDel"           "XDTB_LayerMerge"
  14.             "XDTB_LayerCur"           "XDTB_EntitySetP"
  15.             "XDTB_LayerOn"           "XDTB_LayerLock"
  16.            )
  17. )
  18. (autoload "coltool"
  19.           '("XDTB_ColHatch"              "XDTB_ColSolid"
  20.             "XDTB_ColOutlineTrim"     "XDTB_ColDim"
  21.             "XDTB_ColChgSect"              "XDTB_ColRes"
  22.             "XDTB_ColJoin"              "XDTB_ColSCentoridErase"
  23.             "XDTB_ColSCentorid"              "XDTB_COLMCentroid"
  24.             "XDTB_ColPl2Blk"              "XDTB_ColSolid2Blk"
  25.            )
  26. )

知道了,是不是先制作一个lsp里面包含(LOAD "YOUR.VLX"),然后再设置(autoload)?
是不是有些繁琐?有更直接的方法吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-10-25 12:21:58 | 显示全部楼层
最初由 urljit 发布
[B]以下是xdsoft.mnl[CODE]
(autoload "xdtb_object"
          '("XDTB_EntXScale"
            "XDTB_EntSclByPnt"
           )
)
(autoload "lyrtool"
          '("slayres" "slayoff" "lay_set_cur" "laychg")
)
(autoload "obj_laye... [/B]

Autoload 本身不支持自动加载 vlx 文件,你要自己修改下,参考 0.3 版工具箱 mnl 文件的头部代码。

建议你看看 autoload 的定义,使用 autoload 本身就是 加载,不需要另外写 load 语句。使用了 autoload 是按需加载,只要你在命令行输入了 lsp 定义的命令就实现加载,如果已经加载了就不做动作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-25 18:05:53 | 显示全部楼层
我下载的最新晓东工具是0.29版的,对么?以下:[PHP];;Writen By Eachy
(defun $xdrx_load ($name / el)
  ;;判断一个ARX程序是否加载
  (if (= (type $name) 'STR)
    (setq el (list $name))
    (setq el $name)
  )
  (foreach n el
    (if        (wcmatch (strcase n) "*.ARX")
      (if (not (member (strcase n t)
                       (mapcar '(lambda (x) (strcase x t)) (arx))
               )
          )
        (arxload n)
      )
      ;;判断一个LSP程序是否加载
      (if (and (not (member n _xdatoml))
               (load n)
          )
        (setq _xdatoml (cons n _xdatoml))
      )
    )
  )
  (princ)
)
(if (< (atof (getvar "acadver")) 15.0)
  (PROGN
    ($xdrx_load "xdrx_api14.arx")
  )
  (PROGN
    ($xdrx_load "xdrx_api15.arx")
  )
)
;|
   获得工具箱目录路径,包括\
|;
(defun $xdlsp_getXPath (/ path)
  (if (setq path (findfile "xdsoft.dll"))
    (progn
      (setq path (xdrx_splpath path)
            path (strcat (car path)
                         (substr (cadr path)
                                 1
                                 (-
                                   (strlen
                                     (cadr path)
                                   )
                                   4
                                 )
                         )
                 )
      )
    )
  )
  path
)
(setq _XDTPath ($xdlsp_getXPath))
($xdrx_load (strcat _XDTPath "lisp\\xdlsp.lsp"))
                                        ;(if (>= (atof (getvar "acadver")) 15.0)
                                        ;  ($xdrx_load (strcat _XDTPath "sys\\ObjectDCL.arx"))
                                        ;)
(defun c:XDTB_GetNewPickSet (/ ss)
  (if (setq ss (XDRX_GETSS))
    (progn
      (command "select" (XDRX_GETSS) "")
      (prompt "\n已经获得新建实体选择集,用P获得")
    )
    (progn
      (prompt "\n上次标记后,没有新建实体,没有获得选择集!")
    )
  )
  (princ)
)
;;The following code written by qiufeng
(defun _Autoload_All_XdSoft_SingleCommand_Lisp (lst / str)
  (foreach str lst (autoload str (list str)))
)
;;The following code "xscrmnud" written by LK
;;屏幕菜单开关控制For 2000+
(defun C:xscrmnud (/ AcadObject Preference Display bShowScreenMenu)
  (vl-load-com)
  (setq        AcadObject        (vlax-get-acad-object)
        Preference        (vla-get-Preferences AcadObject)
        Display                (vla-get-Display Preference)
        bShowScreenMenu        (vla-get-DisplayScreenMenu Display)
  )
  (if (= bShowScreenMenu :VLAX-TRUE)
    (vla-put-DisplayScreenMenu Display :VLAX-FALSE)
    (vla-put-DisplayScreenMenu Display :VLAX-TRUE)
  )
  (mapcar 'vlax-release-object
          (list Display Preference AcadObject)
  )
  (princ)
)
(if (> (atof (getvar "acadver")) 15.0)
  (progn
    (vl-load-com)
    (vl-bb-set '#mnu_display (getvar "screenboxes"))
  )
)
;;
;;屏幕菜单开关与切换控制For 2000+,R14中需手动打开屏幕菜单 written by eachy
;;
(defun c:xscrmnu (/ scr #scr_display #acadver)
  ;;保存屏幕菜单初始状态,0 菜单关闭
  (setq        #scr_display (getvar "screenboxes")
        #acadver     (atof (getvar "acadver"))
  )
  (if (and (< #acadver 15.0)
           (= #scr_display 0)
      )
    (progn
      (princ "\n\t您使用的版本为R14,请先手动加载屏幕菜单!!!")
      (exit)
    )
  )
  (if #xdscrmnu
    (progn
      (if (and (> #acadver 15.0)
               (if (> #acadver 15.0)
                 (= (vl-bb-ref '#mnu_display) 0)
               )
          )
        (c:xscrmnud)
        (progn
          (if (menugroup "tssd")
            (setq scr "tssd")
            (setq scr (last (xdrx_string_tok (getvar "menuname") "\\")))
          )
          (menucmd "s=xdsoft.xcla_")
          (menucmd (strcat "s=" scr ".screen"))
        )
      )
      (setq #xdscrmnu nil)
    )
    (progn
      (if (> #acadver 15.0)
        (progn
          (setvar "menuctl" 0)
          (cond
            ((= (getvar "screenboxes") 0)
             (c:xscrmnud)
            )
            ((= (vl-bb-ref '#mnu_display) 0)
             (c:xscrmnud)
            )
            (T)
          )
        )
      )
      (menucmd "s=xdsoft.screen")
      (setq #xdscrmnu T)
    )
  )
  (princ)
)
;;启动Word、Excel,支持Office97和Office2000
(defun EA_start_office (str / EA_Current_OFFICE_Profiles_key)
  (defun EA_Current_OFFICE_Profiles_key        (/ key $EA_PATH_OFFICE)
    (setq key
           "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\8.0\\EXCEL\\INSTALLROOT"
    )
    (IF        (NOT (vl-registry-read key "PATH"))
      (setq key
             "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\9.0\\EXCEL\\INSTALLROOT"
      )
    )
    (IF        (NOT (vl-registry-read key "PATH"))
      (setq key
             "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\10.0\\EXCEL\\INSTALLROOT"
      )
    )
    (IF        (vl-registry-read key "PATH")
      (setq $EA_PATH_OFFICE (vl-registry-read key "PATH"))
    )
    $EA_PATH_OFFICE
  )
  (IF (and (> (ATOF (GETVAR "ACADVER")) 15.0)
           (EA_Current_OFFICE_Profiles_key)
      )
    (STARTAPP (strcat (EA_Current_OFFICE_Profiles_key)
                      (if str
                        "Excel.EXE"
                        "WinWord.exe"
                      )
              )
    )
    (PRINC
      "\n\t您在使用的CAD低于2000+版本或没有安装MicroSoft Office!"
    )
  )
  (PRINC)
)
(defun QF_Current_AutoCAD_Profiles_key ()
  (strcat "HKEY_CURRENT_USER\\"
          (vlax-product-key)
          "\\PROFILES\\"
  )
)
;;工具箱菜单更新 Writen by Eachy
(defun c:xd_upmenu (/ CLEAN_XD_TOOLBAR)
  (defun CLEAN_XD_toolbar (/ profiles cu_profiles)
    (setq profiles (vl-registry-descendents
                     (QF_Current_AutoCAD_Profiles_key)
                   )
    )
    ;;工具条默认值,分辨率1024x768
    (foreach n profiles
      (setq cu_profiles
             (strcat (QF_Current_AutoCAD_Profiles_key)
                     n
                     "\\TOOLBARS\\"
             )
      )
      (if (vl-registry-read cu_profiles "XDSOFT.TB_XD_API")
        (progn (vl-registry-DELETE cu_profiles "XDSOFT.TB_XD_API")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_ARCH")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_BLK")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_CURVE")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_DIM")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_IMG")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_LAYER")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_PLAN")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_SCRMNU")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_TOOLS")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_TXT")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_TXTOOL")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XDSOFT")
               (vl-registry-DELETE cu_profiles "XDSoft.XD_ALLBAR")
               (vl-registry-DELETE cu_profiles "XDSoft.XD_TBAR")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_NUM")
               (vl-registry-DELETE cu_profiles "XDSoft.TB_XD_ZOOM")
               (vl-registry-delete cu_profiles "XDSoft.TB_EACHY")
               (vl-registry-delete cu_profiles "XDSoft.TB_XD_Water")
               (vl-registry-delete cu_profiles "XDSoft.TB_XD_UCS")
        )
      )
      (if (> (car (xdrx_system_getscreenResolution)) 1024)
        (vl-registry-write
          cu_profiles
          "XDSoft.TB_XD_NUM"
          "show float 1055 105 7"
        )
      )
    )
  )
  (if (> (atof (getvar "acadver")) 15.0)
    (clean_xd_toolbar)
  )
  (if (and (> (atof (getvar "acadVer")) 15.0)
           (/= (vl-bb-ref '#mnu_display) 0)
      )
    (c:xscrmnud)
  )
  (COMMAND ".MENUUNLOAD" "XDSOFT" ".MENULOAD" "XDSOFT.MNU")
  (if (and (> (atof (getvar "acadVer")) 15.0)
           (/= (vl-bb-ref '#mnu_display) 0)
      )
    (c:xscrmnud)
  )
  (if #xdscrmnu
    (progn
      (menucmd "s=xdsoft.xcla_")
      (menucmd "s=xdsoft.screen"))
  )
  (if (and (< (car (xdrx_system_getscreenResolution)) 1024)
           (< (cadr (xdrx_system_getscreenResolution)) 768)
      )
    (princ
      "\n您的显示器分辨率低于1024x768,部分晓东工具菜单、工具条不能完全显示!"
    )
  )
  (PRINC)
)
;;恢复屏幕菜单至合适宽度,根据分辨率自动调整 Writen by eachy
(defun c:Ea_scrmenures
       (/ org_position_lst screen tf profiles n cu_profiles)
  (if (> (atof (getvar "acadver")) 15.0)
    (progn
      (setq screen (xdrx_system_getscreenResolution))
      (setq org_position_lst
             (strcat (rtos (- (car screen) 86) 2 0)
                     " 95 "
                     (rtos (- (car screen) 24) 2 0)
                     " "
                     (rtos (- (last screen) 120) 2 0)
             )
      )
      (setq profiles                        ;(cdr
             (vl-registry-descendents (QF_Current_AutoCAD_Profiles_key))
                                        ; )
      )
      (foreach n profiles
        (setq cu_profiles
               (strcat (QF_Current_AutoCAD_Profiles_key)
                       n
                       "\\DRAWING WINDOW\\"
               )
        )
        (if (/= (getvar "screenboxES") 0)
          (progn (c:xscrmnud) (setq tf t))
        )
        (if (vl-registry-read cu_profiles "SCREENMENU.POSITION")
          (progn
            (vl-registry-write
              cu_profiles
              "ScreenMenu.Position"
              org_position_lst
            )
            (vl-registry-write cu_profiles "ScreenMenu.Style" 4)
          )
        )
      )
      (if tf
        (c:xscrmnud)
      )
    )
    (princ
      (strcat "\n\tAutoCAD R" (getvar "Acadver") " 不需要调整!")
    )
  )
  (princ)
)
(defun ea:ldzb (/ tf)
  (IF (and (member "xdrx_api15.arx" (arx))
           (> (atof (getvar "acadver")) 15.0)
           (not (member 'EACHY (vl-list-loaded-vlx)))
      )
    (progn
      (load "eachy.vlx" "仅适用R2000+")
      (setq tf T)
    )
    (setq tf nil)
  )
  (if (member 'EACHY (vl-list-loaded-vlx))
    (setq tf T)
  )
  tf
)
;;The follow code Writen by QiuFeng
;; 此处自动加载一个命令的lisp程序,
;; !!!命令名必须与程序名相同,不然会导致溢出
(_Autoload_All_XdSoft_SingleCommand_Lisp
  '("cline"            "mk_wipeout"    "modify_z"            "outline"
    "pldel"            "s_trim"            "slbmagic"            "solid2pl"
    "ssgetf"            "swl2dote"            "swltrim"            "stopl"
    "win_bat_modw"  "draworder_by_layer"
   )
)
;; 此处自动加载一个程序中含有多个命令的程序
(autoload "obj_block"
          '("blk_trim"              "BLK_XCLIP"        "blk_rclip"
            "del_blk_subent"  "mod_blk_subent"        "tjblk"
            "regen_ss"              "add_blk_ss"        "blk_num"
            "expblk2"              "blk_scl"                "BLK_ADDATTRIB"
           )
)
(autoload "Obj_Curve"
          '("sbrk"                "curve_trim"            "curve_boole"
            "curve_rdup"        "curve_lx"            "cal_clen"
            "c_l2pl"                "cross_brk"            "XDTB_CurveDelSL"
            "curve2pl"                "check_pl"            "plarea"
            "pl2file"                "curve_join"            "plw_match"
            "drmidp"                "CURVE_INTBRK"            "curve_setclosed"
            "dline_midx"        "xconvert"            "curve_dist"
            "poly_add_vertex"        "poly_remove_vertex"
            "curve_rsline"        "curve2jx"            "curve_rdup1"
            "CU_REVERSE"        "XLtScale"            "XLtLocScl"
            "XLtLocRes"                "XDTB_CurveChDash"  "XDTB_CurveConvert"
            "XDTB_CurveArea"        "XDTB_CurveLength"  "xdtb_curvebreakat"
           )
)
(autoload "obj_dim"
          '("XDTB_DimBreak"           "XDTB_DimMerge"
            "XDTB_DimResVal"           "XDTB_DimChVal"
            "XDTB_DimChHeight"           "dim_res1"
            "XDTB_DimMP"           "XDTB_DimRad"
            "XDTB_DimAsbx"           "XDTB_DimAec"
            "XDTB_DimAng"           "XDTB_DimErase"
            "XDTB_DimTxtColor"           "XDTB_DimTxtRev"
            "XDTB_ResetDimText"           "XDTB_DimLArc"
            "XDTB_DimExtend"           "XDimStyle"
            "XDTB_DimAngToArc"           "XDTB_DimArcToAng"
            "XDTB_DimAngTo"           "XDTB_DimAngArc"
            "XDTB_DimXarc"
           )
)
(autoload "obj_hatch"
          '("ha_assoc"                "ha_apploop"            "ha_removeloop"
            "ha_display"        "ha_explode"            "ha_meege"
            "ha_modscl"                "XDTB_HatchArea"    "pat2slb"
            "getpat"                "XDTB_HatchReMake"  "XDTB_HatchMatch"
           )
)
(autoload "obj_image" '("XCLIP_IMG" "img_del" "img_srch"))
(autoload "obj_text"
          '("txt_srchoverlap"        "txtoverlap_move"   "txt2pl"
            "whatch"                "rduptxt"            "ea_addnum"
            "ch_no"                "#chgtxt"            "chtxth"
            "match_txth"        "txt_modangle"            "XDTB_TextModWid"
            "xstyle"                "XDTB_TextHAlign"   "XDTB_TxtStyleMatch"
           )
)
(autoload "txt_tool"
          '("txt_cf"              "txt_setclip"        "txt_align"
            "txt_sp"              "txt_ressp"        "txt_setuline1"
            "txt_ruline"      "txt_getclip"        "txt_brk"
            "txt_mask"              "txt_sjoin"        "txt_mjoin"
            "txt_hzen"              "txt_join"        "txt_modintv"
            "txt_rspace"      "txt_addno"        "txt_dno"
            "txt_noyx"              "txt_alobj"        "txt_calign"
            "txt_xp"              "txt_box"                "txt_rbox"
            "txt_qp"              "txt_rmask"        "txt_erase"
            "txt_setuline"    "txt_mask_wk"        "XDTB_TxttoXH"
            "XDTB_TxtBracket" "XDTB_Att2Txt"        "XDTB_TxtBracket"
           )
)
(autoload "dwall"
          '("dwall" "darc" "gdwall" "droad" "dbeam1" "dbeam2" "dbeam3")
)
(autoload "dwg"
          '("dwgtoln"           "rdupent"          "dwgblack"         "rduplac"
            "safnt"           "resfnt"          "modify_tag1"         "modify_tag"
           )
)
(autoload "xdtb_object"
          '("XDTB_EntXScale"
            "XDTB_EntSclByPnt"
           )
)
(autoload "lyrtool"
          '("slayres" "slayoff" "lay_set_cur" "laychg")
)
(autoload "obj_layer"
          '("XDTB_LayerIso"           "XDTB_LayerRes"
            "lay_set_cur"           "laychg"
            "XDTB_LayerMatch"           "XDTB_LayerCopy"
            "XDTB_LayerDel"           "XDTB_LayerMerge"
            "XDTB_LayerCur"           "XDTB_EntitySetP"
            "XDTB_LayerOn"           "XDTB_LayerLock"
           )
)
(autoload "coltool"
          '("XDTB_ColHatch"              "XDTB_ColSolid"
            "XDTB_ColOutlineTrim"     "XDTB_ColDim"
            "XDTB_ColChgSect"              "XDTB_ColRes"
            "XDTB_ColJoin"              "XDTB_ColSCentoridErase"
            "XDTB_ColSCentorid"              "XDTB_COLMCentroid"
            "XDTB_ColPl2Blk"              "XDTB_ColSolid2Blk"
           )
)

(autoload "colpftool"
          '("XDTB_ColPfInit"              "XDTB_ColPfBh"
            "XDTB_ColPf_BhRev1"              "XDTB_ColPf_BhRev2"
            "XDTB_ColPf_Jein"
           )
)

(autoload "ebasetool"
          '("XDTB_CTOutlineTrim"   "XDTB_CTInsert"
            "XDTB_CTNo"                   "XDTB_CTDim"
            "XDTB_ZhuangNum"           "XDTB_CTHide"
            "XDTB_WKZINSERT"           "XDTB_WKZNO"
            "XDTB_WKZNOMODIFY"
           )
)
(autoload "epftool"
          '("XDTB_MB_SetLb"             "XDTB_MB_SetLt"
            "XDTB_MB_SetJb"             "XDTB_MB_SetDash"
            "XDTB_MB_BalconyHide"    "XDTB_BalconyD2S"
           )
)
(autoload "xdtb_jeintools"
          '("XDTB_JEINCHECK"
            "XDTB_JeinSelect"
           )
)
(autoload "dote_tools"
          '("XDTB_DoteTrim"
           )
)
(autoload "tools"
          '("XDTB_1PBreak"
            "XDTB_2PDash"
           )
)

(autoload "dwgcut" '("dwgcut0" "dwgcut" "txtcut"))
(autoload "xcommand"
          '("xarray"             "xmove"              "xoffset"
            "xexplode"             "xdragmove"      "xdragcopy"
            "XDTB_ArrayByPath"
           )
)
(autoload "plan"
          '("XDTB_Tlx"         "tfhj"              "tfgc"           "tfjs"
            "dxt"         "dr_dtq"     "get_tan"           "yb_zbbz"
            "ea_droad_rad" "xdtb_minsertdwg"
           )
)
(autoload "axtool"
          '("axcha"          "maxcha"        "chdote"      "axerase"
            "axtrim"          "axonf"        "axvsb"              "XDTB_AxisCScl"
            "dote2swl"          "mh_axis"        "dotearea"    "caxcha"
            "dsym_ro"
           )
)
(autoload "group"
          '("xgrouponof"         "xgroupsonof"
            "xgroupmake"         "xgroupdel"
            "xgroupdelent"         "xgroupremoveent"
            "XGroupMerge"         "XGROUPADDENT"
            "XDTB_EntityOFF"         "XDTB_EntityON"
           )
)
(autoload "jiegou"
          '("wkz_draw" "wkz_txt" "pk_chtxt" "pl2circ" "modify_zq")
)
(autoload "pickset_drag"
          '("Xdrag_Copy"        "Xdrag_Move"            "XDTB_XScale"
            "XMove1"                "XGetExtend"            "XPasteClip"
            "XDTB_RegionCOPY"        "XDTB_RegionErase"
           )
)
(autoload "symbol"
          '("XDTB_SymbolBZ" "XDTB_SymbolErase" "XDTB_SymbolIndex")
)
(autoload "water"
          '("xdtb_fz"              "xdtb_drpm"        "xdtb_dmzh"
            "XDTB_InsCU"      "xdtb_dmcurad"        "xdtb_calarea"
            "xdtb_mkzhb"      "xdtb_preH"        "xdtb_dmpd"
           )
)
(autoload "obj_polyline"
          '("XDTB_SetObjectUcs"
            "XDTB_SetPolyLineUcs"
            "XDTB_SegOffset"
            "XDTB_PlineEXT"
           )
)
;;加载vlx文件
(if (not (< (atof (getvar "acadver")) 15.0))
  (mapcar '(lambda (x)
             (if (not (vl-vlx-loaded-p x))
               (load (strcat x ".vlx") nil)
             )
           )
          '("xdtbar" "elev")
  )
)
(defun c:Claytabs ()
  (vla-put-displaylayouttabs
    (vla-get-display
      (vla-get-preferences
        (vla-get-application (vlax-get-acad-object))
      )
    )
    :vlax-false
  )
)
(defun C:AboutXDSoft ()
  (startapp "mshta"
            (strcat "\"" (findfile "splash.hta") "\"")
  )
  (princ)
)
;;
(defun C:AboutXDSoftMenu ()
  (xdrx_msgbox
    "\n欢迎使用面向应用的XDRX_API
     \n\nXDSoft安装程序由秋枫和Quelea制作 ;-)
     \nEachy网友完成菜单和部分程序制作
     \n更新请访问晓东CAD空间:http://www.xdcad.net"
    "*晓东工具箱 Public Beta 0.29* 9/23/2003" 0 0 1)
  (princ)
)
;; The following code "placemenu" written by LUCAS
(defun placemenu (/ n)
  (if (menugroup "XDSOFT")
    (progn
      (setq n 1)
      (while (< n 24)
        (if (menucmd (strcat "P" (itoa n) ".1=?"))
          (setq n (+ n 1))
          (progn
            (if        (> n 3)
              (setq n (- n 2))
              (setq n 3)
            )                                ;if
            (menucmd (strcat "p" (itoa n) "=+XDSOFT.pop2"))
            (menucmd (strcat "p" (itoa n) "=+XDSOFT.pop1"))
            (setq n 25)
          )                                ;progn
        )                                ;if
      )                                        ;while
    )                                        ;progn
  )                                        ;if
  (princ)
)                                        ;defun placemenu
(setvar "cmdecho" 0)
(placemenu)
(if (and c:explode c:xref c:xbind c:burst)
  (progn
    (setq c:burst nil
          c:explode nil
          c:xref nil
          c:xbind nil
    )
    (command ".redefine" "explode" ".explode")
    (command ".redefine" "xref" ".xref")
    (command ".redefine" "xbind" ".xbind")
    (xdrx_msgbox
      "  您的CAD可能被ACAD.LSP病毒感染
      \n请运行 \XDSoft\SYS\Checklsp.wsf 杀毒!"
      "*CAD病毒警报*"
      2 0 1
    )
  )
)
(princ "\nXDsoft loaded completed.")
(princ)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-10-25 18:26:46 | 显示全部楼层
最初由 urljit 发布
[B]我下载的最新晓东工具是0.29版的,对么?以下:[PHP];;Writen By Eachy
(defun $xdrx_load ($name / el)
  ;;判断一个ARX程序是否加载
  (if (= (type $name) 'STR)
    (setq el (list $name))
    (setq el ... [/B]

是 0.30 版

  1. (defun ai_ffile (app)
  2.   (or (findfile (strcat app ".lsp"))
  3.       (findfile (strcat app ".exp"))
  4.       (findfile (strcat app ".exe"))
  5.       (findfile (strcat app ".arx"))
  6.       (findfile (strcat app ".fas"))
  7.       ;(findfile (strcat app ".vlx"))
  8.       (findfile app)
  9.   )
  10. )
  11. (defun ai_nofile (filename)
  12.   (princ
  13.     (strcat "\n在支持路径中未找到 "
  14.             filename
  15.             "(.lsp/.exe/.arx/.fas/.vlx) 文件."
  16.     )
  17.   )
  18.   (princ "\n检查你的 Support 路径并再次运行.")
  19.   (princ)
  20. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-25 19:52:12 | 显示全部楼层
不是的,我需要的是当用户发出命令,系统就检查是否加载某个vlx,否则加载并自动运行用户刚才发出的命令,xdsoft.mnl里面没有的吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-16 04:32 , Processed in 0.429094 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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