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

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

×