در زیر برنامهای کاربردی برای همراستا کردن نوشتهها با اشیاء موردنظر در سند نرمافزارهای اتودسک(اتوکد، لنددسکتاپ، سیویل تری دی)، قرار دادهشده است. این برنامه یکی از برنامههای کاربردی برای طراحان است، پس از نصب و اجرا برنامه، ابتدا متن موردنظر و سپس شئی که قرار است متن با آن همراستا شود را انتخاب کرده، متن بهسادگی با شئی همراستا میشود.
دوستانی که نحوهی فراخوانی فایلهای لیسپ (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 |
;-====================================-; ;- Text Rotated by selected object -; ;- Tested on AutoCAD 2002-2014 -; ;- Written by -; ;- Ebrahim Rastgou -; ;- WWW.GeoGIS.ir -; ;- 05-02-14 -; ;-====================================-; ;---------------Text Rotated to the selected object angle------------------ (defun C:TRA () (c:TextRotate2Angle)) (defun c:TextRotate2Angle (/ ss lst pt ang obj get_pt_and_angle) (vl-load-com) ) ;; User selection of curve object ;; return pick point & average angle of curve at pick point (defun get_pt_and_angle (prmpt / ent p@pt parA parB pt ang) (if (and (setq ent (entsel prmpt)) (not (vl-catch-all-error-p (setq pt (vl-catch-all-apply 'vlax-curve-getClosestPointTo (list (car ent) (cadr ent)) ) ) ) ) ) (progn (setq ent (car ent) p@pt (vlax-curve-getParamAtPoint ent pt) parA (max 0.0 (- p@pt 0.05)) parB (min (+ p@pt 0.05) (vlax-curve-getEndParam ent)) ang (angle (vlax-curve-getPointAtParam ent parA) (vlax-curve-getPointAtParam ent ParB) ) ) (list pt ang) ) ) ) ;; Get Text to align & object to alignment angle ;; Text is not moved, just rotated to the alignment angle ;; Object must have curve data (prompt "\nSelect text object to align.") (if (and (or (setq ss (ssget "_+.:E:S" '((0 . "Text,Mtext")))) (prompt "\n** No Text object selected. **") ) (or (setq lst (get_pt_and_angle "\nSelect point on object to label.")) (prompt "\n** Missed or no curve data for object.") ) ) (progn (setq pt (car lst) ang (cadr lst) obj (vlax-ename->vla-object (ssname ss 0)) ) (vla-put-rotation Obj ang) ) ) (princ) ) ;-------------------------------------------------------- |
دوستانی که تمایل به کپی کردن کد برنامه را ندارند میتوانند فایل لیسپ (LISP) برنامه بالا را از پیوندهای زیر دریافت نمایند.
برای اجرای این برنامه پس از دریافت و بارگذاری برنامه روی نرم افزار اتودسک خود، کافیست در خط فرمان نام اجرای برنامه که در خط تعریف برنامه (defun) نوشته شده است و اینتر کنند. نامه این برنامه برای اجرا tra است.
نکته : جزوات و اطلاعات این سایت به روز خواهند شد پس در زمان دانلود، به تاریخ انتشار آن توجه فرمایید.
حجم داده : ۲۳ کیلوبایت
تاریخ انتشار : ۹۳/۰۲/۲۹
دانلود : دانلود از لینک کمکی ۱
دانلود : دانلود از لینک کمکی ۲
نظر شما