Chuyển đến nội dung
Diễn đàn CADViet

martin

Thành viên
  • Số lượng nội dung

    18
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi martin


  1. Mình vừa cái đặt CAD2013 và đang gặp lỗi khá khoai là  không dùng được phím DELETE để xóa đối tượng. Thường CAD bản cũ thì click hay select đối tượng rồi ấn DELETE CAD sẽ xóa. Tuy nhiên không làm được việc này trên CAD2013 nữa? Mình đã tìm lỗi này trên forum, gõ PICKFIRST <1>  chọn 1 nhưng vẫn không thay đổi được gì?

    Các bác có kinh nghiệm vui lòng giúp mình.

    Cảm ơn.


  2. Code đây các bác, làm cách nào cho chính xác đến 8 chữ số sau dấu phẩy và in ra file txt. Cảm ơn.

     

     

    ;; free lisp from cadviet.com

    ;;; this lisp was downloaded from http://www.cadviet.com/forum/topic/9681-lisp-ghi-chieu-dai-doan-thang-theo-scale-factor-cua-dimstyle-hien-thoi/

    (defun C:TL( / Length1 SSdelete MakePoint GET-M2P MakeText

    HT I K LST LST1 LSTL LSTP OSMLAST OTHLAST PT PT0 PT1 SS SSMOVE SSNX SSP TBSS)

    (vl-load-com)

    (defun MakeText (point string Height Ang justify Style Layer Color xdata / Lst); Ang: Radial

    (setq Lst (list '(0 . "TEXT")

    (cons 8 (if Layer Layer (getvar "Clayer")))

    (cons 62 (if Color Color 256))

    (cons 10 point)

    (cons 40 Height)

    (cons 1 string)

    (if Ang (cons 50 Ang))

    (cons 7 (if Style Style (getvar "Textstyle")))

    (cons -3 (if xdata (list xdata) nil)))

    justify (strcase justify))

    (cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))))

    ((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))))

    ((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))))

    ((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3)))))

    ((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3)))))

    ((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3)))))

    ((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2)))))

    ((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2)))))

    ((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2)))))

    ((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1)))))

    ((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1)))))

    ((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1))))))

    (entmakex Lst))

    (defun SSdelete (SS / ) (setq SS (acet-ss-to-list SS))(foreach SSN SS (entdel SSN)))

    (defun Length1(e) (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))

    (defun GET-M2P (PT1 PT2) (polar PT1 (angle PT1 PT2) (* 0.5 (distance PT1 PT2))));end

    (defun MakePoint (point layer color)

    (entmakex (list '(0 . "POINT")'(100 . "AcDbEntity")

    (cons 8 (if Layer Layer (getvar "Clayer")))

    (cons 62 (if Color Color 256))

    '(100 . "AcDbPoint")(cons 10 point))))

    (setq lst '() lst1 '() lstL '() k (getvar "dimlfac") ssmove (ssadd))

    (setq ss (ssget (list (cons 0 "LINE,ARC,CIRCLE,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE"))) i 0)

    (repeat (sslength ss)

    (if (= 1 (car (setq ssnx (car(ssnamex ss i)))))

    (if lst1(progn

    (setq ssp (ssadd))

    (foreach ssn lst1 (setq ssp(ssadd(MakePoint(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS ssn)))(cadr lstp))nil 250)ssp)))

    (setq tbss (ACET-GEOM-SS-EXTENTS-FAST ssp))(ssdelete ssp)

    (if (>(abs(-(car(car tbss))(car(cadr tbss))))(abs(-(cadr(car tbss))(cadr(cadr tbss)))))

    (setq lst1 (vl-sort lst1 '(lambda (e1 e2)

    (< (car (get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e1)))(cadr lstp)))

    (car (get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e2)))(cadr lstp))))))) ;;; hang

    (setq lst1 (vl-sort lst1 '(lambda (e1 e2)

    (> (cadr(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e1)))(cadr lstp)))

    (cadr(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e2)))(cadr lstp)))))))) ;;; cot

    (setq lst (append (list (cadr ssnx)) lst1) lst1 '()))

    (setq lst (append (list (cadr ssnx)) lst)))

    (setq lst1 (append (list (cadr ssnx)) lst1)))

    (setq i (1+ i)))

    (if lst1 (progn

    (setq ssp (ssadd))

    (foreach ssn lst1 (setq ssp(ssadd(MakePoint(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS ssn)))(cadr lstp))nil 250)ssp)))

    (setq tbss (ACET-GEOM-SS-EXTENTS-FAST ssp))(ssdelete ssp)

    (if (>(abs(-(car(car tbss))(car(cadr tbss))))(abs(-(cadr(car tbss))(cadr(cadr tbss)))))

    (setq lst1 (vl-sort lst1 '(lambda (e1 e2)

    (> (car (get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e1)))(cadr lstp)))

    (car (get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e2)))(cadr lstp))))))) ;;; hang

    (setq lst1 (vl-sort lst1 '(lambda (e1 e2)

    (< (cadr(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e1)))(cadr lstp)))

    (cadr(get-m2p(car(setq lstp(ACET-GEOM-EXTENTS e2)))(cadr lstp)))))))))) ;;; cot

    (if (setq lst(append lst1 lst)) (progn

    (setq ht (getreal "nhap chieu cao text: ") pt (cadr (grread 't 15 0)) pt0 pt i 0)

    (foreach ll (reverse lst)

    (setq ssmove (ssadd (maketext pt (itoa(setq i (1+ i))) ht 0 "C" nil nil nil nil) ssmove)

    ssmove (ssadd (maketext (polar pt 0 (* 5 ht)) (rtos (* k(length1 ll)) 2 3) ht 0 "R" nil nil nil nil) ssmove)

    pt (list (car pt) (- (cadr pt) (* 1.5 ht)))))

    (acet-ss-redraw ssmove 2)

    (setq OTHLAST (getvar "orthomode")) (setvar "orthomode" 0)

    (if (setq pt1 (acet-ss-drag-move ssmove pt0 "\nChon diem dat bang"))

    (progn (vl-cmdf "move" ssmove "" pt0 pt1) (setvar "orthomode" OTHLAST))

    (ssdelete ssmove))))

    (print "free lisp from cadviet.com") (princ))


  3. có lẽ lên dùng lisp, trên forum đã có list về thống kê chiều dài line, kết hợp với lisp nhập ,xuất ra file txt, và cuối cùng là copy vô excel

    Cái này dùng lệnh cad chắc không được

     

    bác chỉ dẫn cụ thể hơn được không?

    mình cần làm thế này, ví dụ, 

    mình cần đo các đoạn màu vàng trong hình này,

     

    816nsc.jpg

     

     

    còn đây là kết quả đo bằng tay, rồi viết lại vào ễxcel,

     

    673exc.png

     

     

    nhưng nhiều hình làm bằng tay, rồi kiểm tra lại không xuể. 

    mình đã tìm lisp trên forum nhưng nhìn chung chưa thấy cái nào hợp.

    bác nào rõ xin giúp đỡ, gấp ạ.

    cảm ơn


  4. Các bác ơi, đang gặp vấn đề với AUTOCAD MAC 2013, cái thông số hiện trên cursor khi mình gõ lệnh hay đo kích thước tự nhiên trôi đâu mất. Ví dụ, trước kia nhấn U trên cursor hiện lên suggestion như UNITMODE hay UNITS để mình enter, rồi những thông số như select base point hay như đo kích thước đoạn thẳng....vân vân . Không hiểu sao bây giờ gõ lệnh chỉ hiện ở hộp command, làm rất khó theo dõi. 

    Có cách nào để CAD hiện thông số theo cursor không các bác? 

    Mình dang cần giúp gấp. 


  5. Cảm ơn hai bác, lâu quá không sử dụng nên mình quên hết.

    Còn thêm vấn đề cần hỏi là mình cần đo kích thước một loạt đoạn thẳng rồi xuất dữ liệu ra excel để vẽ đồ thị. Ví dụ, mình có một hình tròn bán kính R, vẽ 100 lines cắt đường tròn, bây giờ mình cần đo độ dài các đoạn thẳng bị cắt bởi đường tròn và xuất dữ liệu đó ra excel, làm như thế nào?

    Cảm ơn.


  6. Mình có tập hợp các điểm trên file excel và muốn vẽ cái những điểm này trong autocad thì làm như nào các bác. Lưu ý là chỉ vẽ những điểm , không dùng lệnh line để nối lại thành đường.

    Mình đã biết save file .scr rồi dùng script để export vào CAD nhưng cách này phải dùng lệnh line trong file .scr để show lên hình. Không đúng yêu cầu.

    Và làm cách nào mình có thể chỉnh tỉ lệ ox oy khác nhau ? chẳng hạn như Ox : 0-1-2-3 ... nhưng Oy: 0-200-400 ...

    Thanks

×