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

nhờ viết list (viết list vẽ nhiều đường nối thép liên tiếp)

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

Chào các anh. nhờ các cao nhân giúp đỡ viết giúp e list với ạ.

" vẽ nhiều đường thẳng liên tiếp nhau khi gặp chiều dài lớn hơn 11.7  ( hoặc khi click điểm) sẽ tạo thêm mối nối vị trí đó ạ ( chiều dài mối nối nhập ạ). đồng thời có tạo đường dim và ghi các thông số nhập ban đầu như số thanh và đường kính ạ. ( giống kiểu shop thép )

e xin chân thành cảm ơn mọi người. mong nhận được sự giúp đỡ ạ

anh.jpg

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
15 giờ trước, xuanquoc đã nói:

Chào các anh. nhờ các cao nhân giúp đỡ viết giúp e list với ạ.

" vẽ nhiều đường thẳng liên tiếp nhau khi gặp chiều dài lớn hơn 11.7  ( hoặc khi click điểm) sẽ tạo thêm mối nối vị trí đó ạ ( chiều dài mối nối nhập ạ). đồng thời có tạo đường dim và ghi các thông số nhập ban đầu như số thanh và đường kính ạ. ( giống kiểu shop thép )

e xin chân thành cảm ơn mọi người. mong nhận được sự giúp đỡ ạ

anh.jpg

 

Lisp của tôi thì chỉ vẽ ra thép, ko bao gồm Dim kích thước. Nếu bạn có nhu cầu thì tôi sẽ gửi cho :))

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
2 giờ trước, Danh Cong đã nói:

 

Lisp của tôi thì chỉ vẽ ra thép, ko bao gồm Dim kích thước. Nếu bạn có nhu cầu thì tôi sẽ gửi cho :))

anh cho e xin với ạ, cảm ơn anh nhiều ( email: xuanquocxd@gmail.com)

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
Vào lúc 12/8/2020 tại 13:54, xuanquoc đã nói:

anh cho e xin với ạ, cảm ơn anh nhiều ( email: xuanquocxd@gmail.com)

Gửi cho bạn. Lisp chỉ áp dụng trong trường hợp nối thẳng. Chiều dài mối nối được quy định trong Lisp. Khoảng cách giữa các thanh nối phụ thuộc vào tỷ lệ Scale của dim.



(defun c:VTT (/ d L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
(Princ "Write by: Do Danh Cong")
(command "undo" "begin")
(setq L_TieuChuan
       (list
     (cons 10 450)
     (cons 12 540)
     (cons 14 630)
     (cons 16 720)
     (cons 18 810)
     (cons 20 900)
     (cons 22 990)
     (cons 25 1125)
     (cons 28 1260)
     (cons 32 1455)))

;;;;; So lieu dau vao
  (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
;;;;;; Luu gia tri duong kinh
  (or #VTT_D (setq #VTT_D 16))
  (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
  (setq    Pt1 (getpoint "\n Nhap diem ve: "))
  (setq scale (getvar "dimscale"))
  
  ;;;;; Tinh toan so lieu:
  
  (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
    X1 (car Pt1)
    Y1 (cadr Pt1)
    PT-end (Polar Pt1 0 L)
    X-end (car Pt-end)
    Y-end (cadr Pt-end))
  ;;;;;; Ve thep

  (While  (> X-end X1)
          (if (>= 11700 (- X-end X1))
        (progn
              (command ".line" "non" Pt1 "non" Pt-End "")
              (setq X1  X-End))
        (Progn
              (setq Pt2 (polar Pt1 0 11700))
          (command ".line" "non" Pt1 "non" Pt2 "")
          (setq X1 (- (car Pt2) L40)
            Y1 (+ (cadr Pt1) (* 1.5 scale))
            Pt1 (list X1 Y1)
                    PT-end (list X-end Y1))
          )
      ))
  (command "undo" "end")
  (Princ))

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
12 giờ trước, Danh Cong đã nói:

Gửi cho bạn. Lisp chỉ áp dụng trong trường hợp nối thẳng. Chiều dài mối nối được quy định trong Lisp. Khoảng cách giữa các thanh nối phụ thuộc vào tỷ lệ Scale của dim.

 





	(defun c:VTT (/ d L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
	(Princ "Write by: Do Danh Cong")
	(command "undo" "begin")
	(setq L_TieuChuan
	       (list
	     (cons 10 450)
	     (cons 12 540)
	     (cons 14 630)
	     (cons 16 720)
	     (cons 18 810)
	     (cons 20 900)
	     (cons 22 990)
	     (cons 25 1125)
	     (cons 28 1260)
	     (cons 32 1455)))



;;;;; So lieu dau vao
	  (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
;;;;;; Luu gia tri duong kinh
	  (or #VTT_D (setq #VTT_D 16))
	  (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
	  (setq    Pt1 (getpoint "\n Nhap diem ve: "))
	  (setq scale (getvar "dimscale"))
	  
	  ;;;;; Tinh toan so lieu:
	  
	  (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
	    X1 (car Pt1)
	    Y1 (cadr Pt1)
	    PT-end (Polar Pt1 0 L)
	    X-end (car Pt-end)
	    Y-end (cadr Pt-end))
	  ;;;;;; Ve thep



	  (While  (> X-end X1)
	          (if (>= 11700 (- X-end X1))
	        (progn
	              (command ".line" "non" Pt1 "non" Pt-End "")
	              (setq X1  X-End))
	        (Progn
	              (setq Pt2 (polar Pt1 0 11700))
	          (command ".line" "non" Pt1 "non" Pt2 "")
	          (setq X1 (- (car Pt2) L40)
	            Y1 (+ (cadr Pt1) (* 1.5 scale))
	            Pt1 (list X1 Y1)
	                    PT-end (list X-end Y1))
	          )
	      ))
	  (command "undo" "end")
	  (Princ))

cảm ơn anh 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
Vào lúc 16/8/2020 tại 22:34, Danh Cong đã nói:

Gửi cho bạn. Lisp chỉ áp dụng trong trường hợp nối thẳng. Chiều dài mối nối được quy định trong Lisp. Khoảng cách giữa các thanh nối phụ thuộc vào tỷ lệ Scale của dim.

 





	(defun c:VTT (/ d L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
	(Princ "Write by: Do Danh Cong")
	(command "undo" "begin")
	(setq L_TieuChuan
	       (list
	     (cons 10 450)
	     (cons 12 540)
	     (cons 14 630)
	     (cons 16 720)
	     (cons 18 810)
	     (cons 20 900)
	     (cons 22 990)
	     (cons 25 1125)
	     (cons 28 1260)
	     (cons 32 1455)))



;;;;; So lieu dau vao
	  (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
;;;;;; Luu gia tri duong kinh
	  (or #VTT_D (setq #VTT_D 16))
	  (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
	  (setq    Pt1 (getpoint "\n Nhap diem ve: "))
	  (setq scale (getvar "dimscale"))
	  
	  ;;;;; Tinh toan so lieu:
	  
	  (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
	    X1 (car Pt1)
	    Y1 (cadr Pt1)
	    PT-end (Polar Pt1 0 L)
	    X-end (car Pt-end)
	    Y-end (cadr Pt-end))
	  ;;;;;; Ve thep



	  (While  (> X-end X1)
	          (if (>= 11700 (- X-end X1))
	        (progn
	              (command ".line" "non" Pt1 "non" Pt-End "")
	              (setq X1  X-End))
	        (Progn
	              (setq Pt2 (polar Pt1 0 11700))
	          (command ".line" "non" Pt1 "non" Pt2 "")
	          (setq X1 (- (car Pt2) L40)
	            Y1 (+ (cadr Pt1) (* 1.5 scale))
	            Pt1 (list X1 Y1)
	                    PT-end (list X-end Y1))
	          )
	      ))
	  (command "undo" "end")
	  (Princ))

A CHO E HỎI TÍ SAO CAD CỦA E 2018 K CHẠY ĐC 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
Vào lúc 3/4/2021 tại 01:07, saukhoai đã nói:

A CHO E HỎI TÍ SAO CAD CỦA E 2018 K CHẠY ĐC NHỈ

+ Bằng chứng nào để bạn nói cad 2018 ko chạy được ? Ảnh chụp commandline của bạn đâ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
20 phút trước, Danh Cong đã nói:

+ Bằng chứng nào để bạn nói cad 2018 ko chạy được ? Ảnh chụp commandline của bạn đâu?

Oan cho em @Khoai lắm anh @Danh Cong oi, nếu down về bằng nút Download ở trên thì không có cad nào chạy được chứ đừng nói 2018!!

  • 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
1 giờ} trướ}c, alisp đã nói:

Oan cho em @Khoai lắm anh @Danh Cong oi, nếu down về bằng nút Download ở trên thì không có cad nào chạy được chứ đừng nói 2018!!

Tiên trách kỷ...

 

Ừ, không chạy đươc!

Ít ra em nó cũng phải cho biết triệu chứng gì chứ ?!

  • 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
Vào lúc 3/4/2021 tại 01:07, saukhoai đã nói:

A CHO E HỎI TÍ SAO CAD CỦA E 2018 K CHẠY ĐC NHỈ

+ Bạn Copy các dòng code trong  lisp vào 1 file .txt , rồi đổi tên đuôi  .txt thành .lsp rồi load lại lisp nhé.

 @alisp :   Đúng là lisp bị lỗi thật, mình cũng ko hiểu sao. Thế nên lâu rồi mình toàn copy code, chứ ko dowload lisp trực tiếp từ diễn đàn :)))

  • 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

E cảm ơn :))))

7 giờ trước, Danh Cong đã nói:

+ Bạn Copy các dòng code trong  lisp vào 1 file .txt , rồi đổi tên đuôi  .txt thành .lsp rồi load lại lisp nhé.

 @alisp :   Đúng là lisp bị lỗi thật, mình cũng ko hiểu sao. Thế nên lâu rồi mình toàn copy code, chứ ko dowload lisp trực tiếp từ diễn đàn :)))

 

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
13 giờ trước, alisp đã nói:

Oan cho em @Khoai lắm anh @Danh Cong oi, nếu down về bằng nút Download ở trên thì không có cad nào chạy được chứ đừng nói 2018!!

 Cảm ơn a minh oan hộ e :)))

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
Vào lúc 5/4/2021 tại 11:45, Danh Cong đã nói:

+ Bạn Copy các dòng code trong  lisp vào 1 file .txt , rồi đổi tên đuôi  .txt thành .lsp rồi load lại lisp nhé.

 @alisp :   Đúng là lisp bị lỗi thật, mình cũng ko hiểu sao. Thế nên lâu rồi mình toàn copy code, chứ ko dowload lisp trực tiếp từ diễn đàn :)))

image.thumb.png.0e33f02f1b2c682d0f0547ff46ae402a.pnga cho e hỏi tí, lisp của a chạy đc rồi nhưng e muốn cây thép nó chạy như này đc k a, lisp a chạy ra cây thép nó xếp bậc thang nhưng e muốn nó xếp như kia đc k a

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
16 giờ trước, saukhoai đã nói:

a cho e hỏi tí, lisp của a chạy đc rồi nhưng e muốn cây thép nó chạy như này đc k a, lisp a chạy ra cây thép nó xếp bậc thang nhưng e muốn nó xếp như kia đc k a

 

+ Của bạn đây :



(defun c:VTT (/ d i L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
    (Princ "Write by: Do Danh Cong")
    (command "undo" "begin")
    (setq L_TieuChuan
           (list
         (cons 10 450)
         (cons 12 540)
         (cons 14 630)
         (cons 16 720)
         (cons 18 810)
         (cons 20 900)
         (cons 22 990)
         (cons 25 1125)
         (cons 28 1260)
         (cons 32 1455)))

;;;;; So lieu dau vao
      (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
;;;;;; Luu gia tri duong kinh
      (or #VTT_D (setq #VTT_D 16))
      (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
      (setq    Pt1 (getpoint "\n Nhap diem ve: "))
      (setq scale (getvar "dimscale"))
      
      ;;;;; Tinh toan so lieu:
      
      (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
        X1 (car Pt1)
        Y1 (cadr Pt1)
        PT-end (Polar Pt1 0 L)
        X-end (car Pt-end)
        Y-end (cadr Pt-end)
        i 1)
      ;;;;;; Ve thep

      (While  (> X-end X1)
              (if (>= 11700 (- X-end X1))
            (progn
                  (command ".line" "non" Pt1 "non" Pt-End "")
                  (setq X1  X-End))
            (Progn
                  (setq Pt2 (polar Pt1 0 11700))
              (command ".line" "non" Pt1 "non" Pt2 "")
              (setq     X1 (- (car Pt2) L40)
                       Y1 (+ (cadr Pt1) (* 1.5 scale i))
                i (* -1 i)
                        Pt1 (list X1 Y1)
                            PT-end (list X-end Y1))
              )
          ))
      (command "undo" "end")
      (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
11 giờ trước, Danh Cong đã nói:

 

+ Của bạn đây :

 





	(defun c:VTT (/ d i L40 X1 Y1 PT-end X-end Y-end scale L_Tieuchuan L PT1 PT2)
	    (Princ "Write by: Do Danh Cong")
	    (command "undo" "begin")
	    (setq L_TieuChuan
	           (list
	         (cons 10 450)
	         (cons 12 540)
	         (cons 14 630)
	         (cons 16 720)
	         (cons 18 810)
	         (cons 20 900)
	         (cons 22 990)
	         (cons 25 1125)
	         (cons 28 1260)
	         (cons 32 1455)))



;;;;; So lieu dau vao
	      (setq L (getdist "Nhap chieu dai / Chon 2 diem: "))
;;;;;; Luu gia tri duong kinh
	      (or #VTT_D (setq #VTT_D 16))
	      (setq #VTT_D (cond ((getreal (strcat "\nNhap D= < " (rtos #VTT_D 2 0) " >:")))(#VTT_D)))
	      (setq    Pt1 (getpoint "\n Nhap diem ve: "))
	      (setq scale (getvar "dimscale"))
	      
	      ;;;;; Tinh toan so lieu:
	      
	      (setq L40 (cdr (assoc #VTT_D L_TieuChuan))
	        X1 (car Pt1)
	        Y1 (cadr Pt1)
	        PT-end (Polar Pt1 0 L)
	        X-end (car Pt-end)
	        Y-end (cadr Pt-end)
	        i 1)
	      ;;;;;; Ve thep



	      (While  (> X-end X1)
	              (if (>= 11700 (- X-end X1))
	            (progn
	                  (command ".line" "non" Pt1 "non" Pt-End "")
	                  (setq X1  X-End))
	            (Progn
	                  (setq Pt2 (polar Pt1 0 11700))
	              (command ".line" "non" Pt1 "non" Pt2 "")
	              (setq     X1 (- (car Pt2) L40)
	                       Y1 (+ (cadr Pt1) (* 1.5 scale i))
	                i (* -1 i)
	                        Pt1 (list X1 Y1)
	                            PT-end (list X-end Y1))
	              )
	          ))
	      (command "undo" "end")
	      (Princ))

cảm ơn a 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

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

×