Đến nội dung


Hình ảnh

Đo đường gấp khúc Pline


  • Please log in to reply
6 replies to this topic

#1 tranpro

tranpro

    biết vẽ arc

  • Advance Member
  • PipPip
  • 47 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 12 November 2013 - 10:06 PM

Chào các bạn trên diễn đàn mình. Mình đang có đường gấp khúc Pline và cần đo kích thước của nó và hiển thị lên như lệnh DLI nhưng không biết lisp nào. Không thể đo từng đoạn được vì rất lâu và rối hình. Nó kiểu như cái này này: http://cadonline.duy...lication&lid=31

Các bác ai có lisp share mình với. Thanks!


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 12 November 2013 - 10:57 PM

Chào các bạn trên diễn đàn mình. Mình đang có đường gấp khúc Pline và cần đo kích thước của nó và hiển thị lên như lệnh DLI nhưng không biết lisp nào. Không thể đo từng đoạn được vì rất lâu và rối hình. Nó kiểu như cái này này: http://cadonline.duy...lication&lid=31

Các bác ai có lisp share mình với. Thanks!

Hề hề hề,

Đã có tên và địa chỉ rõ ràng rồi mà không đến xin lại còn hỏi ở đây là sao hè. Chả nhẽ bắt mọi người làm lại những điều đã có sẵn ư????


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 tranpro

tranpro

    biết vẽ arc

  • Advance Member
  • PipPip
  • 47 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 13 November 2013 - 10:10 AM

Hề hề hề,

Đã có tên và địa chỉ rõ ràng rồi mà không đến xin lại còn hỏi ở đây là sao hè. Chả nhẽ bắt mọi người làm lại những điều đã có sẵn ư????

Hic cái đó mình liên hệ rất lâu và nhiều lần rồi mà ko liên lạc được chứ ko phải ko xin ="=!


  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 13 November 2013 - 10:43 AM

Hic cái đó mình liên hệ rất lâu và nhiều lần rồi mà ko liên lạc được chứ ko phải ko xin ="=!

Đây bạn!

;Ve Dim kieu Pline/Spline.
; =============================================================================
; Filename    :   DimPoly.lsp
; Datum       :   08.03.06
; Author      :   jme
; Copyright   :   MENZI ENGINEERING GmbH, Switzerland
; Revision  1 :   10.03.06 jme - DIMBLK1/2, DIMSE1/2 and DIMDLE support added
;                              - Bug Text rotation fixed
;                              - Code refined
; Revision  2 :   13.03.06 jme - Bug attribute insertion point fixed
;                              - Flag 70 excluded in Spline flag check
; Revision  3 :   __.__.__ ___ -
; -----------------------------------------------------------------------------
; Description:
; Creates a Polyline/Spline dimension.
; -----------------------------------------------------------------------------
; Global variables:
; Me:AcD
; -----------------------------------------------------------------------------
; Internal LISP-functions:
; MeAddArrowObjects  MeCalcArrow  MeGetAssoc  MeGetCurSpace  MeGetEndPoints
; MeGetObjLength  MeGetObjMidPoint  MeGetTangentAtPoint  MeTranslateDimBklName
; MeSelPline  MeShorten  MeTan
; -----------------------------------------------------------------------------
; External LISP-functions:
; None
; -----------------------------------------------------------------------------
; Version notes:
; AutoCAD: Version: Language: AddIns:
; 15 up 1.02 English ...
; -----------------------------------------------------------------------------
;
; == Message on loading =======================================================
;
(princ "\nDimPoly v1.02")
;
; == Main =====================================================================
;
(defun C:DimPoly ( / BlkLst CurEnt CurObj CurSpc DimAsz DimBl1 DimBl2 DimDle
                     DimEnt DimExe DimExo DimGap DimObj DimScl DimTxt DimVal
                     FstAng FstBpt FstDpt FstPnt NxtAng NxtBpt NxtDpt NxtPnt
                     ObjNme OldCmd OldOsm PntLst TmpBlk TmpObj TxtAng TxtIpt
                     *Error*)
 ; - Check for AutoCAD version 15.0+
 (if (< (atof (getvar "ACADVER")) 15.0)
  (alert " DimPoly requires AutoCAD 2000 or higher. ")
  (progn
   ; - Initialize ActiveX
   (vl-load-com)
   ; - Get AutoCAD's current document
   (or Me:AcD (setq Me:AcD (vla-get-ActiveDocument (vlax-get-acad-object))))
   ; - Save system variables
   (setq OldCmd (getvar "CMDECHO")
         OldOsm (getvar "OSMODE")
   )
   ; - Establish error handler
   (defun *error* (Msg)
    (setvar "CMDECHO" OldCmd)
    (setvar "OSMODE" OldOsm)
    (vla-EndUndoMark Me:AcD)
    (if Msg (princ Msg))
    (princ)
   )
   ; - Begin program
   (vla-StartUndoMark Me:AcD)
   (if (setq CurEnt (MeSelPline "\nSelect Polyline or Spline: " nil nil))
    (progn
     (setq FstPnt (cadr CurEnt)
           CurEnt (car CurEnt)
           CurObj (vlax-ename->vla-object CurEnt)
           NxtPnt (getpoint FstPnt "\nDimension line position: ")
     )
     (setvar "CMDECHO" 0)
     (setvar "OSMODE" 0)
     (cond
      ((not NxtPnt))
      ((not (vl-cmdf "_.OFFSET" (distance FstPnt NxtPnt) CurEnt NxtPnt ""))
       (princ "can't offset this object. ")
      )
      (T
       (setq DimEnt (entlast)
             DimObj (vlax-ename->vla-object DimEnt)
       )
       (if (not (eq (vla-get-ObjectName DimObj) "AcDbSpline"))
        (vla-put-ConstantWidth DimObj 0.0)
       )
       (vla-put-Color DimObj (getvar "DIMCLRD"))
       (vla-put-LineWeight DimObj (getvar "DIMLWD"))
       (setq CurSpc (MeGetCurSpace)
             PntLst (MeGetEndPoints CurObj)
             FstBpt (car PntLst)
             NxtBpt (cadr PntLst)
             PntLst (MeGetEndPoints DimObj)
             FstDpt (car PntLst)
             NxtDpt (cadr PntLst)
             DimVal (MeGetObjLength CurObj)
             TxtIpt (MeGetObjMidPoint DimObj)
             DimScl (getvar "DIMSCALE")
             DimBl1 (MeTranslateDimBklName (getvar "DIMBLK1"))
             DimBl2 (MeTranslateDimBklName (getvar "DIMBLK2"))
             BlkLst '("_DOTSMALL" "_SMALL" "_NONE"
                      "_OBLIQUE" "_INTEGRAL" "_ARCHTICK"
                     )
             DimExe (* DimScl (getvar "DIMEXE"))
             DimExo (* DimScl (getvar "DIMEXO"))
             DimDle (* DimScl (getvar "DIMDLE"))
             DimTxt (* DimScl (getvar "DIMTXT"))
             DimAsz (* DimScl (getvar "DIMASZ"))
             DimGap (+ (* DimScl (getvar "DIMGAP")) (/ DimTxt 2.0))
             TxtAng (MeGetTangentAtPoint DimObj TxtIpt)
             TxtAng (if (and (> TxtAng (* pi 0.5)) (<= TxtAng (* pi 1.5)))
                     (- TxtAng pi)
                     TxtAng
                    )
             TxtIpt (polar TxtIpt (+ TxtAng (* pi 0.5)) DimGap)
             FstAng (MeGetTangentAtPoint DimObj FstDpt)
             NxtAng (MeGetTangentAtPoint DimObj NxtDpt)
             TmpBlk (vlax-invoke (vla-get-Blocks Me:AcD) 'Add
                    '(0.0 0.0 0.0) "*U"
                    )
             TmpObj (vlax-invoke TmpBlk 'AddAttribute
                     DimTxt acAttributeModePreset "" TxtIpt "DIMTXT"
                     (rtos DimVal (getvar "DIMLUNIT") (getvar "DIMDEC"))
                    )
       )
       (vla-put-Rotation TmpObj TxtAng)
       (vla-put-StyleName TmpObj (getvar "DIMTXSTY"))
       (vla-put-Alignment TmpObj acAlignmentMiddle)
       (vlax-put TmpObj 'TextAlignmentPoint TxtIpt)
       (vla-put-Color TmpObj (getvar "DIMCLRT"))
       (if (= (getvar "DIMSE1") 0)
        (progn
         (setq TmpObj (vlax-invoke TmpBlk 'AddLine
                       (polar FstBpt (angle FstBpt FstDpt) DimExo)
                       (polar FstDpt (angle FstBpt FstDpt) DimExe)
                      )
         )
         (vla-put-Color TmpObj (getvar "DIMCLRE"))
         (vla-put-LineWeight TmpObj (getvar "DIMLWE"))
        )
       )
       (if (= (getvar "DIMSE2") 0)
        (progn
         (setq TmpObj (vlax-invoke TmpBlk 'AddLine
                       (polar NxtBpt (angle NxtBpt NxtDpt) DimExo)
                       (polar NxtDpt (angle NxtBpt NxtDpt) DimExe)
                      )
         )
         (vla-put-Color TmpObj (getvar "DIMCLRE"))
         (vla-put-LineWeight TmpObj (getvar "DIMLWE"))
        )
       )
       (if (and (> DimDle 0.0) (vl-position DimBl1 BlkLst))
        (progn
         (setq TmpObj (vlax-invoke TmpBlk 'AddLine
                       FstDpt (polar FstDpt (+ FstAng pi) DimDle)
                      )
         )
         (vla-put-Color TmpObj (getvar "DIMCLRD"))
         (vla-put-LineWeight TmpObj (getvar "DIMLWD"))
        )
       )
       (if (and (> DimDle 0.0) (vl-position DimBl2 BlkLst))
        (progn
         (setq TmpObj (vlax-invoke TmpBlk 'AddLine
                       NxtDpt (polar NxtDpt NxtAng DimDle)
                      )
         )
         (vla-put-Color TmpObj (getvar "DIMCLRD"))
         (vla-put-LineWeight TmpObj (getvar "DIMLWD"))
        )
       )
       (if (vl-position DimBl1 BlkLst)
        (MeAddArrowObjects FstDpt FstAng DimAsz DimBl1 TmpBlk)
        (progn
         (MeShorten DimEnt DimAsz (car PntLst))
         (setq PntLst (MeGetEndPoints DimObj)
               FstAng (angle (car PntLst) FstDpt)
         )
         (MeAddArrowObjects FstDpt FstAng DimAsz DimBl1 TmpBlk)
        )
       )
       (if (vl-position DimBl2 BlkLst)
        (MeAddArrowObjects NxtDpt (+ NxtAng pi) DimAsz DimBl2 TmpBlk)
        (progn
         (MeShorten DimEnt DimAsz (cadr PntLst))
         (setq PntLst (MeGetEndPoints DimObj)
               NxtAng (angle (cadr PntLst) NxtDpt)
         )
         (MeAddArrowObjects NxtDpt NxtAng DimAsz DimBl2 TmpBlk)
        )
       )
       (vlax-invoke Me:AcD 'CopyObjects (list DimObj) TmpBlk)
       (vla-Delete DimObj)
       (vlax-invoke CurSpc 'InsertBlock
       '(0.0 0.0 0.0) (vla-get-Name TmpBlk) 1.0 1.0 1.0 0.0
       )
      )
     )
    )
   )
   (*Error* nil)
  )
 )
 (princ)
)
;
; == Subs =====================================================================
;
; == Function MeAddArrowObjects
; Adds the requestet arrow objects to a block object.
; Argumens [Type]:
;   Pnt = Start point [LIST]
;   Ang = Rotation angle [REAL]
;   Siz = Arrow size [REAL]
;   Nme = Dimension block name [STR]
;   Obj = Add to block [VLA-OBJECT]
; Return [Type]:
;   > Null
; Notes:
;   - Requires the global variable Me:AcD
;
(defun MeAddArrowObjects (Pnt Ang Siz Nme Obj / ArwObj BlkNme CurSpc ObjLst
                                                PntLst TmpObj)
 (cond
  ((eq Nme "_NONE"))
  ((eq Nme "")
   (setq PntLst (MeCalcArrow Pnt Siz)
         ArwObj (vlax-invoke Obj 'AddSolid
                 (car PntLst) (cadr PntLst)
                 (caddr PntLst) (car PntLst)
                )
   )
   (vlax-invoke ArwObj 'Rotate Pnt (+ Ang pi))
   (vla-put-Color ArwObj (getvar "DIMCLRD"))
   (vla-put-LineWeight ArwObj (getvar "DIMLWD"))
  )
  (T
   (setq CurSpc (MeGetCurSpace)
         TmpObj (vlax-invoke CurSpc 'InsertBlock Pnt Nme Siz Siz Siz Ang)
         ObjLst (vlax-invoke TmpObj 'Explode)
   )
   (vla-Delete TmpObj)
   (mapcar '(lambda (l) (vla-put-Color l (getvar "DIMCLRD"))) ObjLst)
   (mapcar '(lambda (l) (vla-put-LineWeight l (getvar "DIMLWD"))) ObjLst)
   (vlax-invoke Me:AcD 'CopyObjects ObjLst Obj)
   (mapcar 'vla-Delete ObjLst)
  )
 )
 (princ)
)
;
; == Function MeCalcArrow
; Returns the points of an arrow, calculated by size.
; Argumens [Type]:
;   Pnt = Start point [LIST]
;   Siz = Arrow size [REAL]
; Return [Type]:
;   > Point list (Pt1 Pt1 Pt3) [LIST]
; Notes:
;   - None
;
(defun MeCalcArrow (Pnt Siz / Angl_A Side_A)
 (setq Side_A (/ Siz 6.0)
       Angl_A (MeTan (/ Side_A Siz))
 )
 (list
  (polar Pnt Angl_A (/ Side_A (sin Angl_A)))
  (polar Pnt (- Angl_A) (/ Side_A (sin Angl_A)))
  Pnt
 )
)
;
; == Function MeGetAssoc
; Get associative value from a list.
; Arguments [Type]:
;   Key = Key to search [INT]
;   Lst = Dotted pair list [LIST]
; Return [Type]:
;   > Value [ALL]
; Notes:
;   - None
;
(defun MeGetAssoc (Key Lst)
 (cdr (assoc Key Lst))
)
;
; == Function MeGetCurSpace
; Returns the current space object.
; Arguments [Type]:
;   --- = 
; Return [Type]:
;   > Mspace or Pspace object [VLA-OBJECT]
; Notes:
;   - Requires the global variable Me:AcD
;
(defun MeGetCurSpace ()
 (if (or (= (getvar "TILEMODE") 1) (> (getvar "CVPORT") 1))
  (vla-get-ModelSpace Me:AcD)
  (vla-get-PaperSpace Me:AcD)
 )
)
;
; == Function MeGetEndPoints
; Returns the endpoints of an object.
; Arguments [Type]:
;   Obj = Object [VLA-OBJECT/ENAME]
; Return [Type]:
;   > Endpoints '((x y z) (x y z)) [LIST]
;   > Nil if invalid object
; Notes:
;   - Proceeds *Polylines, Splines, Lines, Arcs, Circles and Ellipses
; 
(defun MeGetEndPoints (Obj)
 (list
  (vlax-curve-getStartPoint Obj)
  (vlax-curve-getEndPoint Obj)
 )
)
;
; == Function MeGetObjLength
; Returns the length of an object.
; Arguments [Type]:
;   Obj = Object [VLA-OBJECT/ENAME]
; Return [Type]:
;   > Length of the object [REAL]
; Notes:
;   - Proceeds *Polylines, Splines, Lines, Arcs, Circles and Ellipses
; 
(defun MeGetObjLength (Obj)
 (vlax-curve-getDistAtParam Obj (vlax-curve-getEndParam Obj))
)
;
; == Function MeGetObjMidPoint
; Returns the middle point of an object.
; Arguments [Type]:
;   Obj = Object [VLA-OBJECT/ENAME]
; Return [Type]:
;   > Length of the object [REAL]
; Notes:
;   - Proceeds *Polylines, Splines, Lines, Arcs, Circles and Ellipses
; 
(defun MeGetObjMidPoint (Obj / CurDst)
 (setq CurDst (vlax-curve-getDistAtParam Obj
               (vlax-curve-getEndParam Obj)
              )
 )
 (vlax-curve-getPointAtDist Obj (/ CurDst 2.0))
) 
;
; == Function MeGetTangentAtPoint
; Returns the tangent at the specified point.
; Arguments [Type]:
;   Obj = Object [VLA-OBJECT/ENAME]
;   Pnt = Point on object [LIST]
; Return [Type]:
;   > Tangent angle at point [REAL]
;   > False if point is not on object.
; Notes:
;   - None
;
(defun MeGetTangentAtPoint (Obj Pnt / CurPar PntLst TmpPnt)
 (setq PntLst (MeGetEndPoints Obj)
       CurPar (cond
               ((equal Pnt (car PntLst) 1E-6)
                (vlax-curve-getStartParam Obj)
               )
               ((equal Pnt (cadr PntLst) 1E-6)
                (vlax-curve-getEndParam Obj)
               )
               ((setq TmpPnt (vlax-curve-getClosestPointTo Obj Pnt))
                (if (<= (distance TmpPnt Pnt) 1E-6)
                 (vlax-curve-getParamAtPoint Obj TmpPnt)
                )
               )
               (T nil)
              )
 )
 (if CurPar
  (angle
  '(0.0 0.0 0.0)
   (vlax-curve-getFirstDeriv Obj CurPar)
  )
 )
)
;
; == Function MeSelPline
; Extended Polyline selection function.
; Arguments [Type]:
;   Pmt = User prompt [STR]
;   3Dp = 3Dpolyline flag (3Dpolyline allowed) [BOOLEAN]
;   Cls = Close flag (pline must be closed) [BOOLEAN]
; Return [Type]:
;   > List with entity name and pickpoint '((Ename (x y z)) [LIST]
; Notes:
;   - Credits to James Allen
;   - Returns nil when user press 'Return' or 'Space'
;
(defun MeSelPline (Pmt 3Dp Cls / CurEnt EntFlg EntLst EntNme ExLoop)
 (while (not ExLoop)
  (initget " ")
  (setq CurEnt (entsel Pmt))
  (cond
   ((= CurEnt "") (setq ExLoop T CurEnt nil))
   (CurEnt
    (setq EntLst (entget (car CurEnt))
          EntNme (MeGetAssoc 0 EntLst)
          EntFlg (MeGetAssoc 70 EntLst)
          CurEnt (list
                  (car CurEnt)
                  (trans
                   (if (eq EntNme "POLYLINE")
                    (vlax-curve-getClosestPointToProjection
                     (car CurEnt)
                     (trans (cadr CurEnt) 1 0)
                     (trans (getvar "VIEWDIR") 1 0 1)
                    )
                    (cond ((osnap (cadr CurEnt) "_nea")) ((cadr CurEnt)))
                   )
                   0 1
                  )
                 )
    )
    (cond
     ((or
       (not (member EntNme '("LWPOLYLINE" "POLYLINE" "SPLINE")))
       (and (not 3Dp) (not (eq EntNme "SPLINE")) (= (logand EntFlg  8) 8))
       (and (not (eq EntNme "SPLINE")) (= (logand EntFlg 16) 16))
       (and (not (eq EntNme "SPLINE")) (= (logand EntFlg 64) 64))
      )
      (princ "selected entity is not a Polyline or Spline. ")
     )
     ((and Cls (/= (logand EntFlg 1) 1))
      (princ "selected Polyline or Spline is not closed. ")
     )
     ((setq ExLoop T))
    )
   )
   ((princ "1 selected, 0 found. "))
  )
 )
 CurEnt
)
;
; == Function MeShorten
; Shortens an object at end point by distance.
; Arguments [Type]:
;   Ent = Entity [ENAME]
;   Dst = Shorten distance [REAL]
;   Pnt = Point on end [LIST]
; Return [Type]:
;   > Null
; Notes:
;   - None
;
(defun MeShorten (Ent Dst Pnt / ObjLen TmpPnt)
 (setq ObjLen (MeGetObjLength Ent))
 (if (and (> Dst 0.0) (< Dst ObjLen))
  (vl-cmdf "_.LENGTHEN"  "_TOT" (- ObjLen Dst) (list Ent Pnt) "")
 )
 (princ)
)
;
; == Function MeTan
; Returns tangens of an angle.
; Argumens [Type]:
;   Ang = Angle (radians) [REAL]
; Return [Type]:
;   > Tangens [REAL]
; Notes:
;   - None
;
(defun MeTan (Ang) (/ (sin Ang) (cos Ang)))
;
; == Function MeTranslateDimBklName
; Returns the arrow block name by language of the current AutoCAD version.
; Arguments [Type]:
;   Nme = Arrow name [STR]
; Return [Type]:
;   > Arrow block name [STR]
; Notes:
;   - Autodesk has no f*@#%*g concept for DIMBLK(1/2)!!!
;     That's the reason why we need this translation table.
;   - In case you wanna add a new language support, you've to check each
;     value by setting DIMBLK first by English key (eg. _DOT). Then call
;     DIMBLK again and add the default value as the first atom in the
;     list (upper case).
;
(defun MeTranslateDimBklName (Nme / AcdLng RegPth TrlLst)
 (setq RegPth (strcat "HKEY_LOCAL_MACHINE\\" (vlax-product-key))
       AcdLng (vl-registry-read RegPth "Language")
       TrlLst (cond
               ((eq AcdLng "Deutsch")
               '(("" . "")
                 ("PUNKT" . "_DOT")
                 ("PUNKTKLEIN" . "_DOTSMALL")
                 ("PUNKTLEER" . "_DOTBLANK")
                 ("URSPRUNG" . "_ORIGIN")
                 ("URSPRUNG2" . "_ORIGIN2")
                 ("GEÖFFNET" . "_OPEN")
                 ("GEÖFFNET90" . "_OPEN90")
                 ("GEÖFFNET30" . "_OPEN30")
                 ("GESCHLOSSEN" . "_CLOSED")
                 ("KLEIN" . "_SMALL")
                 ("KEIN" . "_NONE")
                 ("SCHRÄG" . "_OBLIQUE")
                 ("QUADRATGEFÜLLT" . "_BOXFILLED")
                 ("QUADRATLEER" . "_BOXBLANK")
                 ("GESCHLOSSENLEER" . "_CLOSEDBLANK")
                 ("UMGEKDREIECKGEFÜLLT" . "_DATUMFILLED")
                 ("UMGEKDREIECKLEER" . "_DATUMBLANK")
                 ("INTEGRAL" . "_INTEGRAL")
                 ("ARCHITEKTONISCH" . "_ARCHTICK")
                )
               )
               ((eq AcdLng "Français")
               '(("" . "")
                 ("POINT" . "_DOT")
                 ("PETITPOINT" . "_DOTSMALL")
                 ("POINTVIDE" . "_DOTBLANK")
                 ("ORIGINE" . "_ORIGIN")
                 ("ORIGINE2" . "_ORIGIN2")
                 ("OUVERTE" . "_OPEN")
                 ("ANGLEDROIT" . "_OPEN90")
                 ("ANGLE30" . "_OPEN30")
                 ("FERMÉ" . "_CLOSED")
                 ("PETIT" . "_SMALL")
                 ("AUCUNE" . "_NONE")
                 ("OBLIQUE" . "_OBLIQUE")
                 ("CARREPLEIN" . "_BOXFILLED")
                 ("CARREVIDE" . "_BOXBLANK")
                 ("FERMÉEVIDE" . "_CLOSEDBLANK")
                 ("TRIANGLEPLEININVERSE" . "_DATUMFILLED")
                 ("TRIANGLEVIDEINVERSE" . "_DATUMBLANK")
                 ("INTEGRALE" . "_INTEGRAL")
                 ("MARQUEARCH" . "_ARCHTICK")
                )
               )
               ((eq AcdLng "English")
               '(("" . "")
                 ("DOT" . "_DOT")
                 ("DOTSMALL" . "_DOTSMALL")
                 ("DOTBLANK" . "_DOTBLANK")
                 ("ORIGIN" . "_ORIGIN")
                 ("ORIGIN2" . "_ORIGIN2")
                 ("OPEN" . "_OPEN")
                 ("OPEN90" . "_OPEN90")
                 ("OPEN30" . "_OPEN30")
                 ("CLOSED" . "_CLOSED")
                 ("SMALL" . "_SMALL")
                 ("NONE" . "_NONE")
                 ("OBLIQUE" . "_OBLIQUE")
                 ("BOXFILLED" . "_BOXFILLED")
                 ("BOXBLANK" . "_BOXBLANK")
                 ("CLOSEDBLANK" . "_CLOSEDBLANK")
                 ("DATUMFILLED" . "_DATUMFILLED")
                 ("DATUMBLANK" . "_DATUMBLANK")
                 ("INTEGRAL" . "_INTEGRAL")
                 ("ARCHTICK" . "_ARCHTICK")
                )
               )
               (T
                (alert
                 (strcat
                  "Your AutoCad language is not supported."
                  "\nAdd the desired translation table in function: "
                  "\nMeTranslateDimBklName"
                 )
                )
                (exit)
               )
              )
 )
 (cond ((MeGetAssoc (strcase Nme) TrlLst)) (Nme))
)
;
; == Copyright - Note (May be never deleted) ==================================
;
(princ "\n-------------------------------------------")
(princ "\n ©2006 MENZI ENGINEERING GmbH, Switzerland ")
(princ "\n-------------------------------------------")
(princ "\nType DimPoly in the command line to start the programm...")
(princ)
;
; == End DimPoly ==============================================================
 

  • 3

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#5 tranpro

tranpro

    biết vẽ arc

  • Advance Member
  • PipPip
  • 47 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 13 November 2013 - 05:33 PM

Đây bạn!

 

Em muốn các đường chân của kích thước nó ẩn đi thì làm thế nào anh, và muốn đóng khung cái thông số kích thước và thêm chữ vào có làm được không anh?

  • 0

#6 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 13 November 2013 - 06:14 PM

Bạn muốn như thế nào thì cứ việc format dimstyle trước khi chạy.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#7 tranpro

tranpro

    biết vẽ arc

  • Advance Member
  • PipPip
  • 47 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 13 November 2013 - 09:46 PM

Bạn muốn như thế nào thì cứ việc format dimstyle trước khi chạy.

Em muốn sau khi đo cái kích thước đó nó chỉ hiện mỗi thông số chứ ko hiện chân đường dim và thông số kích thước nằm trong ô vuông và có chữ L= phía trước. Em thử vs lệnh D để vào Modify nhưng kích đúp vào nó ko sửa được, mong bác giúp em cái


  • 0