Đến nội dung


Hình ảnh
- - - - -

Nhờ Các Bạn Giúp Chỉnh Dùm Lisp Dim Pline Này Dùm


  • Please log in to reply
1 reply to this topic

#1 khanhnam1982

khanhnam1982

    Chưa sử dụng CAD

  • Members
  • Pip
  • 1 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 28 October 2015 - 12:06 PM

mình có down cái lisp dim pline này từ lâu, nhưng khổ nỗi là cái khoảng cách giữa đường dim và đường pline mặc định viết trong lips lúc nào cách ra, trong khi mình muốn nó bằng 0, nhờ các bạn sửa dùm mình lips này, cam on cac ban nhieu

hinh%20anh.jpg?dl=0

    http://www.cadviet.c..._polyline_1.lsp

http://www.cadviet.c...s_dim_pline.dwg

;; ============================================================ ;;
;;                                                              ;;
;;  PDIM.LSP - This lisp for dimensioning of several            ;;
;;             LwPolylines simultaneously. The program works    ;;
;;             with current dimensional style. The distance of  ;;
;;             the dimensional text from a polyline is equal    ;;
;;             to multiplication of height of the dimensional   ;;
;;             text (DIMTEXT system variable) on a variable     ;;
;;             'tOff'. You can change value of 'tOff' in the    ;;
;;             program beginning, after note.                   ;;
;;                                                           ;;
;; ============================================================ ;;
;;                                                             ;;
;;  Command(s) to call: PDIM                         ;;
;;                                                           ;;
;;  Select LwPolylines and press Enter.                        ;;
;;                                                             ;;
;; ============================================================ ;;
;;                                                             ;;
;;  THIS PROGRAM AND PARTS OF IT MAY REPRODUCED BY ANY METHOD ;;
;;  ON ANY MEDIUM FOR ANY REASON. YOU CAN USE OR MODIFY THIS ;;
;;  PROGRAM OR PARTS OF IT ABSOLUTELY FREE.                 ;;
;;                                                              ;;
;;  THIS PROGRAM PROVIDES THIS PROGRAM 'AS IS' WITH ALL FAULTS ;;
;;  AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF ;;
;;  MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.            ;;
;;                                                             ;;
;; ============================================================ ;;
;;                                                              ;;
;;  V1.2, 9th Okt 2008, Riga, Latvia                            ;;
;;  © Aleksandr Smirnov (ASMI)                           ;;
;;  For AutoCAD 2000 - 2008 (isn't tested in a next versions) ;;
;;                                                              ;;
;;                                 http://www.asmitools.com  ;;
;;                                                             ;;
;; ============================================================ ;;
 
(defun c:pdim(/ tOff plSet pLlst vLst oldDss cAng cDis cPt)
 
; NOTE 
;                                                                 
;  The distance of the text from a LwPolyline line is equal       
;  of multiplication of system variable 'DIMTXT' (height of       
;  the dimensional text) on a variable 'tOff'. Change this        
;  variable for change this distance.                             
 
  (setq tOff 1.0)
  
  (princ "\n<<< Select LwPolyline for dimensioning >>> ")
  (if(setq plSet(ssget '((0 . "LWPOLYLINE"))))
    (progn
      (setq pLlst(vl-remove-if 'listp
                         (mapcar 'cadr(ssnamex plSet)))
   oldDss(getvar "DIMASSOC")
   ); end if
      (setvar "CMDECHO" 0)
      (command "_.undo" "_be")
      (setvar "DIMASSOC" 2)
      (foreach pl pLlst
(setq vLst(mapcar '(lambda(x)
  (trans x 0 1))(mapcar 'cdr
    (vl-remove-if-not
      '(lambda(x)(= 10(car x)))(entget pl))))
     ); end setq
(if(equal '(70 . 1)(assoc 70(entget pl)))
 (setq vLst(append vLst(list(car vLst))))
 ); end if
(while(< 1(length vLst))
 (setq cAng(angle(car vLst)(cadr vLst))
       cDis(/(distance(car vLst)(cadr vLst))2))
 (if(>=(caar vLst)(caadr vLst))
   (setq cAng(- cAng pi))
   ); end if
 (setq cPt(polar
    (polar(car vLst)cAng cDis)
    (+ cAng(* 0.5 pi))(* 1.0(getvar "DIMTXT")))
); end setq
 (command "_.dimaligned" "_end" (car vLst)
  "_end" (cadr vLst) "_none" cPt)
 (setq vLst(cdr vLst))
 ); end while
); end foreach
      (setvar "DIMASSOC" oldDss)
      (command "_.undo" "_e")
      (setvar "CMDECHO" 1)
      ); end progn
    ); end if
  (princ)
  ); end of c:pdim
 
(princ "\n*** Type PDIM for multiple LwPolyline dimensioning *** ")
 
 
---------------------------------------------------------------------------------------------------------------thanks

  • 0

#2 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 28 October 2015 - 12:32 PM

Bạn tìm dòng lệnh (command "_.dimaligned" "_end" (car vLst) "_end" (cadr vLst) "_none" cPt) rồi sửa thành (command "_.dimaligned" "_end" (car vLst) "_end" (cadr vLst) "_none" (car vLst))


  • 0