Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
phongtran86

Nhờ Chỉnh Lisp Cắt Thép Dầm Momen

Các bài được khuyến nghị

quocmanh04tt    385

 

dim cần chọn k phân biệt đường kính, chỉ cần cộng số đai lại với nhau.

giá trị ghi vào là 1 phần tử attribute trong block < không phải text thường> :P

Sáng tỏ, sáng tỏ ... đọc cái yêu cầu ban đầu giống "Nghị quyết" cái này giống "Thông tư" rồi.

 

Ý e là nếu nhập lớp bảo vệ là 50 thì nó vẽ móc cách điểm đ3 và đ4 phương X là CHIỀU CAO DẦM và phương Y là 50 bác ah, chỉ cần vẽ móc thôi. Như lisp cũ thì vẽ móc cách điểm đ3 và đ4 theo phương X là CHIỀU CAO DẦM thôi.

Cảm ơn bác lần nữa.

 

Lớp bảo vệ 50 đó có nhân với tỷ lệ vẽ không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

Có bác ah, xin lỗi bác đã không nói đầy đủ ý.

Vội nên chưa test, có gì bạn phản hồi nhé!

 

(defun c:tt  (/ Make-Line ang bv cdi hbv hcd len msp pd3 po1 po2 po3 po4 pt1 pt2 pt3 pt4 tlv p11 p33)
 (defun Make-Line  (p1 p2 lay)
  (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2) (cons 8 lay))))
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
       cdi (* (getvar "DIMTXT") (getvar "DIMSCALE")))
 (if (and (setq pt1 (getpoint "\nDiem p1: "))
          (setq pt2 (getpoint "\nDiem p2: "))
          (setq pt3 (getpoint "\nDiem p3: "))
          (setq pt4 (getpoint "\nDiem p4: "))
          (setq hcd (getdist "\nChieu cao dam: "))
          (setq hbv (getdist "\nChieu day bt bao ve: "))
          (setq tlv (getreal "\nTi le ve <Nhap 20 de co ty le 1/20>:")))
  (progn (setq po1 (polar (polar pt3 (* pi 1.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po2 (polar po1 (* pi (/ 30 180.0)) 70)
               po3 (polar (polar pt4 (* pi 0.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po4 (polar po3 (* pi (/ 150 180.0)) 70)
               ang (angle pt1 pt2)
               pd3 (polar pt1 (+ ang (* pi 1.5)) (* cdi 4)))
         (Make-Line po1 po2 "CAT-THEP")
         (Make-Line po3 po4 "CAT-THEP")
         (setq p11 (inters pt1 pt2 po1 (polar po1 (* pi 1.5) hcd))
               p33 (inters pt1 pt2 po3 (polar po3 (* pi 1.5) hcd)))
         (mapcar (function (lambda (x y z) (vla-adddimaligned msp x y z)))
                 (mapcar 'vlax-3d-point (list pt1 pt2 p11))
                 (mapcar 'vlax-3d-point (list p11 p33 p33))
                 (mapcar 'vlax-3d-point (list pd3 pd3 pd3)))))
 (princ))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

Theo "Nghị Quyết" của Topic, Lisp 2 ra đời: :D

 

(defun c:tt  (/ thuc_hien dkd kcd kwo ss)
 (defun thuc_hien  (/ ent i len sld str)
  (or dkd (setq dkd (getvar 'USERI5)))
  (or kcd (setq kcd (getvar 'USERR2)))
  (repeat (setq i (sslength ss))
   (setq ent (ssname ss (setq i (1- i)))
         len (cdr (assoc 42 (entget ent)))
         sld (1+ (fix (/ len kcd)))
         str (strcat "<>\\X" (itoa sld) "~" (itoa dkd) "a" (rtos kcd 2 0)))
   (vla-put-TextOverride (vlax-ename->vla-object ent) str)))
 (or (> (getvar 'USERI5) 0) (setvar 'USERI5 6))
 (or (> (getvar 'USERR2) 0) (setvar 'USERR2 150))
 (vl-load-com)
 (if (setq ss (ssget '((0 . "DIMENSION"))))
  (progn (setq kwo t)
         (while kwo
          (initget "T K")
          (setq kwo (getkword
                     (strcat "\nThep dai \U+00D8" (itoa (getvar 'USERI5)) " /Khoang cach a" (rtos (getvar 'USERR2) 2 0) " <T or K or Enter to Override>:")))
          (cond ((eq kwo "T")
                 (initget 6)
                 (setq dkd (cond ((getint (strcat "\nDuong kinh thep dai \U+00D8 <" (itoa (getvar 'USERI5)) ">:")))
                                 ((getvar 'USERI5))))
                 (setvar 'USERI5 dkd))
                ((eq kwo "K")
                 (initget 6)
                 (setq kcd (cond ((getreal (strcat "\nKhoang cach thep dai a <" (rtos (getvar 'USERR2) 2 0) ">:")))
                                 ((getvar 'USERR2))))
                 (setvar 'USERR2 kcd))
                (t (setq kwo nil))))
         (thuc_hien)))
 (princ))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

 

Theo "Nghị Quyết" của Topic, Lisp 2 ra đời: :D

(defun c:tt  (/ thuc_hien dkd kcd kwo ss)
 (defun thuc_hien  (/ ent i len sld str)
  (or dkd (setq dkd (getvar 'USERI5)))
  (or kcd (setq kcd (getvar 'USERR2)))
  (repeat (setq i (sslength ss))
   (setq ent (ssname ss (setq i (1- i)))
         len (cdr (assoc 42 (entget ent)))
         sld (1+ (fix (/ len kcd)))
         str (strcat "<>\\X" (itoa sld) "~" (itoa dkd) "a" (rtos kcd 2 0)))
   (vla-put-TextOverride (vlax-ename->vla-object ent) str)))
 (or (> (getvar 'USERI5) 0) (setvar 'USERI5 6))
 (or (> (getvar 'USERR2) 0) (setvar 'USERR2 150))
 (vl-load-com)
 (if (setq ss (ssget '((0 . "DIMENSION"))))
  (progn (setq kwo t)
         (while kwo
          (initget "T K")
          (setq kwo (getkword
                     (strcat "\nThep dai \U+00D8" (itoa (getvar 'USERI5)) " /Khoang cach a" (rtos (getvar 'USERR2) 2 0) " <T or K or Enter to Override>:")))
          (cond ((eq kwo "T")
                 (initget 6)
                 (setq dkd (cond ((getint (strcat "\nDuong kinh thep dai \U+00D8 <" (itoa (getvar 'USERI5)) ">:")))
                                 ((getvar 'USERI5))))
                 (setvar 'USERI5 dkd))
                ((eq kwo "K")
                 (initget 6)
                 (setq kcd (cond ((getreal (strcat "\nKhoang cach thep dai a <" (rtos (getvar 'USERR2) 2 0) ">:")))
                                 ((getvar 'USERR2))))
                 (setvar 'USERR2 kcd))
                (t (setq kwo nil))))
         (thuc_hien)))
 (princ))

anh chỉnh chút xíu cho em.

1. khi gợi chọn dim ấy thì mình có thể nhấn T để chỉnh đường kính thép đai, K để chỉnh khoảng cách. k ấn j chọn luôn dim thì nó lấy giá trị cũ của T,K chứ k phải chọn dim xong mới hiện gợi ý chỉnh T, K.

2. Mà hình như biến lưu hệ thống K anh để là USERR2 là biến lưu hệ thống lớp btong bảo vệ của lisp vẽ mômen dầm. nên nó bị thay đổi lớp bảo vệ, khi vẽ lệnh kia. anh setq kcd là USERR4 <khoang cách đai nhịp> :D hoặc làm sao 2 cái này k ảnh hưởng đến nhau dc ko. Thế thì tốt

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

1. Với hàm ssget mình chưa làm được, không biết có cách nào không??? Nó không giống như getpoint ở lisp trước.

2. Bạn tự làm được mà! Chỉ việc thay toàn bộ USERR2 thành USERR4 là ok.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

1. Với hàm ssget mình chưa làm được, không biết có cách nào không??? Nó không giống như getpoint ở lisp trước.

2. Bạn tự làm được mà! Chỉ việc thay toàn bộ USERR2 thành USERR4 là ok.

ok anh. thế là tốt với em lắm rồi anh ạ :). Một lỗi nhỏ lisp vẽ cắt momen. khi dầm 2 nhịp chiều cao khác nhau, dim cột bị chéo. :D

dc anh chỉnh giúp em với. pick ngược từ phải qua trái thì dim cột bị nhầm :p13177786_1063774453645679_61909515103968

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

- Bạn thay hàm ở dưới vào trong lisp để xử lý dim cột bị chéo.
- Muốn Pick ngược từ phải qua trái thì thứ tự làm việc với nhịp cũng phải từ phải qua trái và ngược lại.
- Giải thích sơ bộ trong (defun dim_cot): lisp lấy điểm thứ 2 của nhịp trước với điểm thứ nhất của nhịp sau để ghi dim cột.
- Muốn pick bất kỳ, thứ tự bất kỳ cũng được nhưng phải thay đổi thuật toán => dài dòng và phức tạp.

(defun dim_cot  ()
  (if (and pt-02 pcd pca)
   (progn (vla-put-layer (vla-AddDimRotated msp
                                            (vlax-3d-point pt-02)
                                            (vlax-3d-point pt-01)
                                            (vlax-3d-point pcd)
                                            ang)
                         "DIM")
          (vla-put-layer (vla-AddDimRotated msp
                                            (vlax-3d-point (polar pt-02 (+ ang (* 0.5 pi)) cd))
                                            (vlax-3d-point (polar pt-01 (+ ang (* 0.5 pi)) cd))
                                            (vlax-3d-point pca)
                                            ang)
                         "DIM"))))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
790312    4

 

Vội nên chưa test, có gì bạn phản hồi nhé!

(defun c:tt  (/ Make-Line ang bv cdi hbv hcd len msp pd3 po1 po2 po3 po4 pt1 pt2 pt3 pt4 tlv p11 p33)
 (defun Make-Line  (p1 p2 lay)
  (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2) (cons 8 lay))))
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
       cdi (* (getvar "DIMTXT") (getvar "DIMSCALE")))
 (if (and (setq pt1 (getpoint "\nDiem p1: "))
          (setq pt2 (getpoint "\nDiem p2: "))
          (setq pt3 (getpoint "\nDiem p3: "))
          (setq pt4 (getpoint "\nDiem p4: "))
          (setq hcd (getdist "\nChieu cao dam: "))
          (setq hbv (getdist "\nChieu day bt bao ve: "))
          (setq tlv (getreal "\nTi le ve <Nhap 20 de co ty le 1/20>:")))
  (progn (setq po1 (polar (polar pt3 (* pi 1.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po2 (polar po1 (* pi (/ 30 180.0)) 70)
               po3 (polar (polar pt4 (* pi 0.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po4 (polar po3 (* pi (/ 150 180.0)) 70)
               ang (angle pt1 pt2)
               pd3 (polar pt1 (+ ang (* pi 1.5)) (* cdi 4)))
         (Make-Line po1 po2 "CAT-THEP")
         (Make-Line po3 po4 "CAT-THEP")
         (setq p11 (inters pt1 pt2 po1 (polar po1 (* pi 1.5) hcd))
               p33 (inters pt1 pt2 po3 (polar po3 (* pi 1.5) hcd)))
         (mapcar (function (lambda (x y z) (vla-adddimaligned msp x y z)))
                 (mapcar 'vlax-3d-point (list pt1 pt2 p11))
                 (mapcar 'vlax-3d-point (list p11 p33 p33))
                 (mapcar 'vlax-3d-point (list pd3 pd3 pd3)))))
 (princ))

Nhờ bác thêm vào lisp để nó vẽ đường thẳng từ móc này đến móc kia giùm e với, nó sẽ thành một thanh polyline.

Cảm ơn bác nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

Nhờ bác thêm vào lisp để nó vẽ đường thẳng từ móc này đến móc kia giùm e với, nó sẽ thành một thanh polyline.

Cảm ơn bác nhiều.

(defun c:tt  (/ Make-Line ang bv cdi hbv hcd len msp pd3 po1 po2 po3 po4 pt1 pt2 pt3 pt4 tlv p11 p33)
;;;ve pline 
(defun Make_pline  (listpoint Layer / Lst)
  (setq lst (list '(0 . "LWPOLYLINE")
                  '(100 . "AcDbEntity")
                  '(100 . "AcDbPolyline")
                  (cons 8 layer)
                  (cons 90 (length listpoint))
                  (cons 70 0)))
  (foreach p listpoint (setq lst (append lst (list (cons 10 p)))))
  (entmakex lst))
;;;;ham ve pline 
(defun Make-Line  (p1 p2 lay)
  (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2) (cons 8 lay))))
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
       cdi (* (getvar "DIMTXT") (getvar "DIMSCALE")))
 (if (and (setq pt1 (getpoint "\nDiem p1: "))
          (setq pt2 (getpoint "\nDiem p2: "))
          (setq pt3 (getpoint "\nDiem p3: "))
          (setq pt4 (getpoint "\nDiem p4: "))
          (setq hcd (getdist "\nChieu cao dam: "))
          (setq hbv (getdist "\nChieu day bt bao ve: "))
          (setq tlv (getreal "\nTi le ve <Nhap 20 de co ty le 1/20>:")))
  (progn (setq po1 (polar (polar pt3 (* pi 1.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po2 (polar po1 (* pi (/ 30 180.0)) 70)
               po3 (polar (polar pt4 (* pi 0.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po4 (polar po3 (* pi (/ 150 180.0)) 70)
               ang (angle pt1 pt2)
               pd3 (polar pt1 (+ ang (* pi 1.5)) (* cdi 4)))
       (Make_pline (list po2 po1 po3 po4) "CAT-THEP")
        ; (Make-Line po1 po2 "CAT-THEP")
        ; (Make-Line po3 po4 "CAT-THEP")

         (setq p11 (inters pt1 pt2 po1 (polar po1 (* pi 1.5) hcd))
               p33 (inters pt1 pt2 po3 (polar po3 (* pi 1.5) hcd)))
         (mapcar (function (lambda (x y z) (vla-adddimaligned msp x y z)))
                 (mapcar 'vlax-3d-point (list pt1 pt2 p11))
                 (mapcar 'vlax-3d-point (list p11 p33 p33))
                 (mapcar 'vlax-3d-point (list pd3 pd3 pd3)))))
 (princ))

Hỗ trợ bác quốc mạnh để bác tập trung giúp em lisp số 3. Bạn thử xem dc chưa

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
790312    4
(defun c:tt  (/ Make-Line ang bv cdi hbv hcd len msp pd3 po1 po2 po3 po4 pt1 pt2 pt3 pt4 tlv p11 p33)
;;;ve pline 
(defun Make_pline  (listpoint Layer / Lst)
  (setq lst (list '(0 . "LWPOLYLINE")
                  '(100 . "AcDbEntity")
                  '(100 . "AcDbPolyline")
                  (cons 8 layer)
                  (cons 90 (length listpoint))
                  (cons 70 0)))
  (foreach p listpoint (setq lst (append lst (list (cons 10 p)))))
  (entmakex lst))
;;;;ham ve pline 
(defun Make-Line  (p1 p2 lay)
  (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2) (cons 8 lay))))
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
       cdi (* (getvar "DIMTXT") (getvar "DIMSCALE")))
 (if (and (setq pt1 (getpoint "\nDiem p1: "))
          (setq pt2 (getpoint "\nDiem p2: "))
          (setq pt3 (getpoint "\nDiem p3: "))
          (setq pt4 (getpoint "\nDiem p4: "))
          (setq hcd (getdist "\nChieu cao dam: "))
          (setq hbv (getdist "\nChieu day bt bao ve: "))
          (setq tlv (getreal "\nTi le ve <Nhap 20 de co ty le 1/20>:")))
  (progn (setq po1 (polar (polar pt3 (* pi 1.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po2 (polar po1 (* pi (/ 30 180.0)) 70)
               po3 (polar (polar pt4 (* pi 0.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po4 (polar po3 (* pi (/ 150 180.0)) 70)
               ang (angle pt1 pt2)
               pd3 (polar pt1 (+ ang (* pi 1.5)) (* cdi 4)))
       (Make_pline (list po2 po1 po3 po4) "CAT-THEP")
        ; (Make-Line po1 po2 "CAT-THEP")
        ; (Make-Line po3 po4 "CAT-THEP")

         (setq p11 (inters pt1 pt2 po1 (polar po1 (* pi 1.5) hcd))
               p33 (inters pt1 pt2 po3 (polar po3 (* pi 1.5) hcd)))
         (mapcar (function (lambda (x y z) (vla-adddimaligned msp x y z)))
                 (mapcar 'vlax-3d-point (list pt1 pt2 p11))
                 (mapcar 'vlax-3d-point (list p11 p33 p33))
                 (mapcar 'vlax-3d-point (list pd3 pd3 pd3)))))
 (princ))

Hỗ trợ bác quốc mạnh để bác tập trung giúp em lisp số 3. Bạn thử xem dc chưa

 

Bác có thể chỉnh giúp khi yêu cầu nhập lớp bảo vê giá trị mặc định là 0 để vẽ móc ngay lớp thép thứ 1. Khi cần vẽ lớp 2 thì mới nhập giá trị cần. Cảm ơn bác.

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
traitimgio    0

Bác có thể chỉnh giúp khi yêu cầu nhập lớp bảo vê giá trị mặc định là 0 để vẽ móc ngay lớp thép thứ 1. Khi cần vẽ lớp 2 thì mới nhập giá trị cần. Cảm ơn bác.

Bác nhờ chỉnh hay yêu cầu nên làm hình vẽ, diễn giải chỉnh từ đầu đến cuối chứ mỗi lần 1 chút này người viết ngại lắm

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

Bác có thể chỉnh giúp khi yêu cầu nhập lớp bảo vê giá trị mặc định là 0 để vẽ móc ngay lớp thép thứ 1. Khi cần vẽ lớp 2 thì mới nhập giá trị cần. Cảm ơn bác.

(defun c:tt  (/ Make-Line ang bv cdi hbv hcd len msp pd3 po1 po2 po3 po4 pt1 pt2 pt3 pt4 tlv p11 p33)
;;;ve pline 
(defun Make_pline  (listpoint Layer / Lst)
  (setq lst (list '(0 . "LWPOLYLINE")
                  '(100 . "AcDbEntity")
                  '(100 . "AcDbPolyline")
                  (cons 8 layer)
                  (cons 90 (length listpoint))
                  (cons 70 0)))
  (foreach p listpoint (setq lst (append lst (list (cons 10 p)))))
  (entmakex lst))
;;;;ham ve pline 
(defun Make-Line  (p1 p2 lay)
  (entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2) (cons 8 lay))))
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
       cdi (* (getvar "DIMTXT") (getvar "DIMSCALE")))
 (if (and (setq pt1 (getpoint "\nDiem p1: "))
          (setq pt2 (getpoint "\nDiem p2: "))
          (setq pt3 (getpoint "\nDiem p3: "))
          (setq pt4 (getpoint "\nDiem p4: "))
          (setq hcd (getdist "\nChieu cao dam: "))
(or	hbv  (setq hbv 0))
(setq hbv (cond ((getdist (strcat "\nChieu day lop BT bao ve <" (rtos hbv 2 2) ">: "))) (hbv)))
          (setq tlv (getreal "\nTi le ve <Nhap 20 de co ty le 1/20>:")))
  (progn (setq po1 (polar (polar pt3 (* pi 1.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po2 (polar po1 (* pi (/ 30 180.0)) 70)
               po3 (polar (polar pt4 (* pi 0.0) (* hcd (/ 100 tlv))) (* pi 0.5) (* hbv (/ 100 tlv)))
               po4 (polar po3 (* pi (/ 150 180.0)) 70)
               ang (angle pt1 pt2)
               pd3 (polar pt1 (+ ang (* pi 1.5)) (* cdi 4)))
       (Make_pline (list po2 po1 po3 po4) "CAT-THEP")
        ; (Make-Line po1 po2 "CAT-THEP")
        ; (Make-Line po3 po4 "CAT-THEP")

         (setq p11 (inters pt1 pt2 po1 (polar po1 (* pi 1.5) hcd))
               p33 (inters pt1 pt2 po3 (polar po3 (* pi 1.5) hcd)))
         (mapcar (function (lambda (x y z) (vla-adddimaligned msp x y z)))
                 (mapcar 'vlax-3d-point (list pt1 pt2 p11))
                 (mapcar 'vlax-3d-point (list p11 p33 p33))
                 (mapcar 'vlax-3d-point (list pd3 pd3 pd3)))))
 (princ))
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

Hỗ trợ bác quốc mạnh để bác tập trung giúp em lisp số 3. Bạn thử xem dc chưa

 

Lisp 3 thì đơn giản mấy dòng thôi, nếu bạn quyết tâm mình sẽ hướng dẫn từng bước để tạo ra nó tại Topic này.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

- Chỉ mấy dòng, bạn sẽ viết được.

- Bạn đưa cái file block thống kê lên đây mình sẽ viết phần sau khi gán giá trị vào số lượng thanh thì tổng số lượng, tổng chiều dài và tổng trọng lượng sẽ được cập nhật.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

thế bác hướng dẫn em :)

đây là thống kê thép bằng ứng dụng Hcad. Mình chỉ cần ghi giá trị vào đó, rồi nhấn lệnh tính toán lại là khối lượng cập nhật.

http://www.mediafire.com/download/qlnnx5c4tmzkfwj/thong_ke_thep.dwg

Giá trị ghi vào có thể  số lượng, số trong phần quy cách hay bất kỳ chỗ nào trong block giống như lệnh http://www.lee-mac.com/copytext.htmlcủa lee mac này. cập nhật thống kê chắc dùng field đúng k bác

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

lisp này số đai chỉ ghi vào att SL của block. Mình muốn nó ghi vào att nào mà mình pick cơ, có thể ATT L1, L2, Lneo....Giống như lisp này http://www.lee-mac.com/copytext.html  Vì mình muốn tự lập vài lisp nữa để ghi thông số chiều dài thanh.... vào bằng lệnh này.

CopyText.gif

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

Sao bạn không test??? Pick vào chỗ nào cũng được, miễn là attblk của bạn.

  em test kỹ rồi mà anh. pick vào đâu cũng dc nhưng nó chỉ nhảy giá trị att SL của block. nếu block ko có ATT tag là SL nó k nhảy. anh xem giúp em lisp của lee mac. Vi dụ 1 block có 4 ATT: L1, L2, Lneo, SL. khi ta pick vào block ở vị trí L1 thì giá trị ghi vào L1, pick vào block nhưng ở vị trí L2 thì giá trị L2 nhảy. Ảnh minh họa anh ơi

CopyText.gif

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
quocmanh04tt    385

- Uh, đúng rồi, lisp trên là để thống kê thép đai theo cách ghi dim ở lsp trước (theo yêu cầu lisp3 - Hình vẽ bài #49). => Bổ sung thêm: khi có giá trị cho SL thì LA và KL cũng được cập nhật luôn.

- Theo nhu cầu ở trên của bạn thì sao không dùng lsp của LM luôn? (Cái này khác với lisp3-#49 nhé).

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
traitimgio    0

- Uh, đúng rồi, lisp trên là để thống kê thép đai theo cách ghi dim ở lsp trước (theo yêu cầu lisp3 - Hình vẽ bài #49). => Bổ sung thêm: khi có giá trị cho SL thì LA và KL cũng được cập nhật luôn.

- Theo nhu cầu ở trên của bạn thì sao không dùng lsp của LM luôn? (Cái này khác với lisp3-#49 nhé).

chắc #49 em diễn đạt chưa hết ý. :D. Lisp của LM thì chỉ copy từ text. như vậy mình chi có thể cộng số đai-->pcik ra text-->dùng lệnh Lm để copy vào block.

Em muốn pick vào block luôn để bớt đi công đoạn, mà k bik làm :(

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongtran86    21

chắc #49 em diễn đạt chưa hết ý. :D. Lisp của LM thì chỉ copy từ text. như vậy mình chi có thể cộng số đai-->pcik ra text-->dùng lệnh Lm để copy vào block.

Em muốn pick vào block luôn để bớt đi công đoạn, mà k bik làm :( có thể pick lấy thông số chiều dài thanh- pick vào ghi chiều dài....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×