در زیر برنامهای کاربردی در اختیار شما دوستان قرارگرفته است که به کمک آن میتوانید با کلیک بر روی هر شیی در محیط نرم افزارهای اتودسک چنانچه شی دارای خصوصیت طول یا محیط باشد آن را برای شما به صورت متن در هر جایی که خواستید درج کند.
دوستانی که نحوهی فراخوانی فایلهای لیسپ (LISP) را در نرمافزارهای اتودسک نمیدانند، برای رفتن به صفحه آموزش فراخوانی فایلهای لیسپ (LISP) در نرمافزارهای اتودسک اینجا کلیک کنند.
برای دستیابی به موارد بالا، ابتدا کدهای زیر را در یک فایل متن (مانند نوتپد “Notpad”، ورد “Word” و …) کپی کرده و در نهایت پسوند فایل را به lsp. تغییر دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
;-=================================-; ;- Length Write by TXT -; ;- Tested on AutoCAD 2002-2015 -; ;- Written by -; ;- Ebrahim Rastgou -; ;- WWW.GeoGIS.ir -; ;- 05-04-18 -; ;-=================================-; ;-------This program will Select any object with a length and where to place the text.-------- ;;; Current unit settings are being used ;;; As this is a FIELD it is updated based on the FIELDEVAL ;;; or the settings found in the OPTIONS dialog box (defun Get-ObjectIDx64 (obj / util) (setq util (vla-get-Utility (vla-get-activedocument (vlax-get-acad-object)))) (if (= (type obj) 'ENAME) (setq obj (vlax-ename->vla-object obj)) ) (if (= (type obj) 'VLA-OBJECT) (if (> (vl-string-search "x64" (getvar "platform")) 0) (vlax-invoke-method util "GetObjectIdString" obj :vlax-False) (rtos (vla-get-objectid obj) 2 0) ) ) ) ;;; Get-CurSpace function (defun Get-CurSpace (/ ad) (setq ad (vla-get-ActiveDocument (vlax-get-acad-object))) (if (= 1 (vla-get-activespace ad)) (vla-get-modelspace ad) (if (= (vla-get-mspace ad) :vlax-true) (vla-get-modelspace ad) (vla-get-paperspace ad) ) ) ) (defun C:LTXT (/ returnOrErr entObject entObjectID InsertionPoint ad propName) (vl-load-com) (setq returnOrErr (vl-catch-all-apply 'entsel (list "Select object: ")) ) (if (and (/= returnOrErr nil) (/= (type returnOrErr) 'VL-CATCH-ALL-APPLY-ERROR)) (progn (setq entObject (vlax-ename->vla-object (car returnOrErr)) entObjectID (Get-ObjectIDx64 entObject) ad (vla-get-ActiveDocument (vlax-get-acad-object)) ) ;Check if Length or Circumference property is available: (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-get-length (list entObject))) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-get-circumference (list entObject))) (progn (setq propName nil) (princ "\nObject not supported.") ) (setq propName "Circumference") ) (setq propName "Length") ) (if propName (progn (setq returnOrErr (vl-catch-all-apply 'getpoint (list "Select point: ") ) ) (if (and (/= returnOrErr nil) (/= (type returnOrErr) 'VL-CATCH-ALL-APPLY-ERROR)) (progn (setq InsertionPoint (vlax-3D-Point returnOrErr)) (vla-addMText (Get-CurSpace) InsertionPoint 0.0 (strcat "%<\\AcObjProp Object(%<\\_ObjId " entObjectID ">%)." propName " \\f \"%lu6\">%" ) ) ) ) ) ) ) ) (princ) ) (princ) |
دوستانی که تمایل به کپی کردن کد برنامه را ندارند میتوانند فایل لیسپ (LISP) برنامه بالا را از پیوندهای زیر دریافت نمایند.
برای اجرای این برنامه پس از دریافت و بارگذاری برنامه روی نرم افزار اتودسک خود، کافیست در خط فرمان (Command Line) نام اجرای برنامه را نوشته و اینتر کنند. نامه این برنامه برای اجرا LTXT است.
نکته : جزوات و اطلاعات این سایت به روز خواهند شد پس در زمان دانلود، به تاریخ انتشار آن توجه فرمایید.
حجم داده : ۲۳ کیلوبایت
تاریخ انتشار : ۹۴/۱۰/۱۹
دانلود : دانلود از لینک کمکی ۱
دانلود : دانلود از لینک کمکی ۲
نظر شما