马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- --------------------------------------------------------------------------------
- ;; Adding and Removing Extended Entity Data
- ;;***cut here to end of file, and save in a ASCII text format to file **
- ;;************************** XM.lsp ************************************
- ;; Date: April 7, 1996
- ;; Written for R13
- ;; *** Example for adding and removing extended entity data. ***
- ;;
- ;; To see how this function works, place this code fragment
- ;; in a file named
- ;; XM.LSP and place the file in a directory that is in the
- ;; ACAD search path
- ;; or in the current AutoCAD directory.
- ;; Start a new drawing.
- ;; At the AutoCAD command line type: (load "XM") <return>
- ;; The function will then:
- ;; Register the applications name.
- ;; Create a circle with extended entity data associated with the
- ;; application name.
- ;; Print out the assoc code list for the circle entity.
- ;; Remove the extended entity data from the circle.
- ;; Then print out the assoc list again showing the extended data
- ;; removed.
- ;;
- ;; AutoLISP function used in this example:
- ;; regapp
- ;; entmake
- ;; setq
- ;; assoc
- ;; princ
- ;; subst
- ;; entmod
- ;; entget
- ;; entlast
- ;;
- ;; See the AutoCAD Customization Guide for information
- ;; on using these functions
- ;;
- ;; Date: 3/7/96
- ;;
- ;; AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
- ;; AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
- ;; MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
- ;; DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
- ;; UNINTERRUPTED OR ERROR FREE.
- ;;
- (regapp "FREDS")
- (entmake ; makes entity
- '((0 . "CIRCLE") ; entity type
- (8 . "0") ; layer name
- (62 . 3) ; color
- (39 . 2.75) ; thickness
- (10 8.0 6.0 0.0) ; center point
- (40 . 2.0) ; radius
- ; create and add xdata
- (-3 ("FREDS" (1002 . "{")
- (1000 . "This is my data")
- (1000 . "More Data")
- (1000 . "and some more data")
- (1040 . 12.345)
- (1010 8.97197 6.8436 0.0)
- (1040 . 2.75013)
- (1002 . "}")))
- )
- )
- (Setq a (entget (entlast) '("FREDS")))
- ;; gets the assoc list with attached
- ;; extended entity data that belongs
- ;; to the regapp "FREDS"
- (princ a) ;; prints assoc list to screen
- (princ "\n\n") ;; two blank lines
- (setq z (assoc -3 a)) ;; save xdata that belongs to the
- ;; regapp "FREDS" to z variable
- (setq a (subst'(-3 ("FREDS")) (assoc -3 a) a)) ;; new assoc list without
- ;; xdata. The -3 assoc code has only
- ;; the regapp name without any data.
- ;; This gets substituted for the assoc
- ;; -3 list that has data.
- (entmod a) ;; modifies entity removing the
- ;; xdata because feeding a entmod
- ;; an assoc list with only the regapp
- ;; name for the -3 assoc code removes
- ;; the extended entity data from the
- ;; entity.
- (Setq a (entget (entlast) '("FREDS")))
- ;; gets the new assoc list to verify
- ;; the xdata has been removed
- (princ a) ;; prints the new assoc list without
- ;; the xdata to screen.
|