Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
thichchemgio

Lisp vẽ đường hàn???

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

Em muốn hỏi là có cái lisp đường hàn nào mà khi vẽ nhầm (hoặc sai) ấn ctrl + z nó về luôn trạng thái ban đầu, cái lisp em đang dùng thì khi em ấn ctrl + z nó mất từng nét trong đường hàn 1 (rất lâu nếu cái đh nó dài) Diễn tả hơi lủng củng 1 tí, thank các bác

  • 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
Em muốn hỏi là có cái lisp đường hàn nào mà khi vẽ nhầm (hoặc sai) ấn ctrl + z nó về luôn trạng thái ban đầu, cái lisp em đang dùng thì khi em ấn ctrl + z nó mất từng nét trong đường hàn 1 (rất lâu nếu cái đh nó dài) Diễn tả hơi lủng củng 1 tí, thank các bác

sao bạn không tạo một linetype đường hàn nhỉ rất đơn giản mà

mkshape

mkltype

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

Bạn có thể nói chi tiết hơn được không? Mình chưa hiểu ý bạn là như thế nào.

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
Em muốn hỏi là có cái lisp đường hàn nào mà khi vẽ nhầm (hoặc sai) ấn ctrl + z nó về luôn trạng thái ban đầu, cái lisp em đang dùng thì khi em ấn ctrl + z nó mất từng nét trong đường hàn 1 (rất lâu nếu cái đh nó dài) Diễn tả hơi lủng củng 1 tí, thank các bác

của bạn đây, không cảm ơn là giận đó!

;;==============================================================================

=========================
;;CHUONG TRINH HAN THEP
; Duong han cong truong thuong
(defun C:CTT ( / )
   (setq p1 (getpoint "\nStart point : ") )
   (setq p2 (getpoint p1 "OK\nEnd point   : ") )
   (if (null a) (setq a 1.0))
   (setq _a (getdist (strcat "Ok\nDistance <" (rtos a 2 1) ">: ")))
   (if (/= _a nil) (setq a _a))
   (if (null b) (setq b 1.0))
   (setq _b (getdist (strcat "Ok\nLenght <" (rtos b 2 1) ">: ")))
   (if (/= _b nil) (setq b _b))
; Chieu cao duong han lay mac dinh bang 0,75 khoang cach
   (if (= b nil)
   (setq b (* 0.75 a))
   )
   (setq l  (distance p1 p2) )
   (setq n  (fix ( / l a ) ) )
   (setq deltaX ( - (car p2) (car p1) ) )
   (setq deltaY ( - (cadr p2) (cadr p1) ) )
   (setq i 0)
; Luu bien he thong
   (setq osmodeold (getvar "osmode")) 
   (setq blipmodeold (getvar "blipmode")) 
; Undo phai de truoc lenh chinh bien he thong
   (command "_UNDO" "_GROUP")
   (setvar "OSMODE" 0)
   (setvar "BLIPMODE" 0)		
; Them mot vong lap cho i
   (while (<= i n )
	(setq x1 ( + (car p1) (* i (* (/ a l) deltaX )  
						  )
			 ) 
	)
	(setq y1 ( + (cadr p1) (* i (* ( / a l ) deltaY ) 
						   )
			 ) 
	)
	(setq p3 (list x1 y1) )
	(setq x2 ( + ( + x1 (* -1 (* b (/ deltaY l) ) ) ) (* b (/ deltaX l) )
		)
	) 
	(setq y2 ( + (+ y1 (* b (/ deltaX l) ) ) (* b (/ deltaY l) )
   	 )			 
	)

	(setq p4 (list x2 y2) )

	(setq x5 ( + x1 (* -1 (* b (/ deltaY l) )
					) 
			 ) 
	) 
	(setq y5 ( + y1 (* b (/ deltaX l) 
					)
			 )
	) 
	(setq p5 (list x5 y5) )
	(setq x6 ( + x1  (* b (/ deltaX l) 
					) 
			 ) 
	) 
	(setq y6 ( + y1 (* b (/ deltaY l) 
					)
			 )
	) 
	(setq p6 (list x6 y6) )
	(command "LINE" p3 p4 "")
	(command "LINE" p5 p6 "")
	(setq i (+ i 1) )
   )
   (command "_UNDO" "_END")
; Khoi phuc lai cac bien he thong da thay doi
   (setvar "BLIPMODE" blipmodeold)		
   (setvar "OSMODE" osmodeold)
   (princ)
)
;;==============================================================================

=========================
; Duong han cong truong net khuat
(defun C:CTK ( / )
   (setq p1 (getpoint "\nStart point : ") )
   (setq p2 (getpoint p1 "OK\nEnd point   : ") )
   (if (null a) (setq a 1.0))
   (setq _a (getdist (strcat "Ok\nDistance <" (rtos a 2 1) ">: ")))
   (if (/= _a nil) (setq a _a))
   (if (null b) (setq b 1.0))
   (setq _b (getdist (strcat "Ok\nLenght <" (rtos b 2 1) ">: ")))
   (if (/= _b nil) (setq b _b))
; Chieu cao duong han lay mac dinh bang 0,75 khoang cach
   (if (= b nil)
   (setq b (* 0.75 a))
   )
   (setq l  (distance p1 p2) )
   (setq n  (fix ( / l a ) ) )
   (setq deltaX ( - (car p2) (car p1) ) )
   (setq deltaY ( - (cadr p2) (cadr p1) ) )
   (setq i 0)
; Luu bien he thong
   (setq osmodeold (getvar "osmode")) 
   (setq blipmodeold (getvar "blipmode")) 
; Undo phai de truoc lenh chinh bien he thong
   (command "_UNDO" "_GROUP")
   (setvar "OSMODE" 0)
   (setvar "BLIPMODE" 0)		
; Them mot vong lap cho i
   (while (<= i n )
	(setq x1 ( + (car p1) (* i (* (/ a l) deltaX )  
						  )
			 ) 
	)
	(setq y1 ( + (cadr p1) (* i (* ( / a l ) deltaY ) 
						   )
			 ) 
	)
	(setq p3 (list x1 y1) )
	(setq x2 ( + ( + x1 (* -1 (* b (/ deltaY l) ) ) ) (* b (/ deltaX l) )
		)
	) 
	(setq y2 ( + (+ y1 (* b (/ deltaX l) ) ) (* b (/ deltaY l) )
   	 )			 
	)

	(setq p4 (list x2 y2) )

	(setq x5 ( + x1 (* -1 (* b (/ deltaY l) )
					) 
			 ) 
	) 
	(setq y5 ( + y1 (* b (/ deltaX l) 
					)
			 )
	) 
	(setq p5 (list x5 y5) )
	(setq x6 ( + x1  (* b (/ deltaX l) 
					) 
			 ) 
	) 
	(setq y6 ( + y1 (* b (/ deltaY l) 
					)
			 )
	) 
	(setq p6 (list x6 y6) )
(if (< (rem i 6) 4)		
   	(progn
	 (command "LINE" p3 p4 "")
	   	 (command "LINE" p5 p6 "")
	)
	) 
(setq i (+ i 1) )
   )
   (command "_UNDO" "_END")
; Khoi phuc lai cac bien he thong da thay doi
   (setvar "BLIPMODE" blipmodeold)		
   (setvar "OSMODE" osmodeold)
   (princ)
)
;;==============================================================================

=========================
(defun C:DH()
  (setq P1 (getpoint "\nDiem dau : "))
  (setq P2 (getpoint "\nDiem cuoi : "))
  (setq P3 (getpoint "\nPhia co duong han : "))
  (setq  l (getreal  "\nChieu cao duong han : "))
  (setq goc (angle p1 p2))

  (setq xA (car P1))
  (setq yA (cadr P1))
  (setq xB (car P2))
  (setq yB (cadr P2))
  (setq xC (car P3))
  (setq yC (cadr P3))

  (setq dau (- (* (- xC xA) (- yB yA))
			(* (- xB xA) (- yC yA))
		 )
  )

  (setq n (distance P1 P2))

  (setq x1 (- xA (* l (cos goc))))
  (setq y1 (- yA (* l (sin goc))))

  (While (> n 0)
  (setq x1 (+ x1 (* l (cos goc))))
  (setq y1 (+ y1 (* l (sin goc))))

  (setq x2 (- x1 (* l (sin goc))))
  (setq y2 (+ y1 (* l (cos goc))))

  (setq x3 (+ x1 (* l (sin goc))))
  (setq y3 (- y1 (* l (cos goc))))

  (setq dau2 (- (* (- x2 xA) (- yB yA))
				(* (- xB xA) (- y2 yA))
			 )
  )

  (if (> (* dau2 dau) 0)	   
	(command "line" (list x1 y1) (list x2 y2) "")
	(command "line" (list x1 y1) (list x3 y3) "")
  )
  (setq n (- n l))
  );of while
); of defun
;;==============================================================================

=========================
;bo sung duong han net khuat
; Duong han
(defun C:DH ( / )
   (setq p1 (getpoint "\nStart point : ") )
   (setq p2 (getpoint p1 "Ok\nEnd point   : ") )
   (if (null a) (setq a 1.0))
   (setq _a (getdist (strcat "Ok\nDistance <" (rtos a 2 1) ">: ")))
   (if (/= _a nil) (setq a _a))
   (if (null b) (setq b 1.0))
   (setq _b (getdist (strcat "Ok\nLenght <" (rtos b 2 1) ">: ")))
   (if (/= _b nil) (setq b _b))


   (setq l  (distance p1 p2) )
   (setq n  (fix ( / l a ) ) )
   (setq deltaX ( - (car p2) (car p1) ) )
   (setq deltaY ( - (cadr p2) (cadr p1) ) )
   (setq i 0)
   (setvar "OSMODE" 0)
   (setvar "BLIPMODE" 0)		
   (command "_UNDO" "_GROUP")
   (while (<= i n)
	(setq x1 ( + (car p1) (* i (* (/ a l) deltaX )  
						  )
			 ) 
	)
	(setq y1 ( + (cadr p1) (* i (* ( / a l ) deltaY ) 
						   )
			 ) 
	)
	(setq p3 (list x1 y1) )
	(setq x2 ( + x1 (* -1 (* b (/ deltaY l) )
					) 
			 ) 
	) 
	(setq y2 ( + y1 (* b (/ deltaX l) 
					)
			 )
	) 
	(setq p4 (list x2 y2) )
	(command "LINE" p3 p4 "")
	(setq i (+ i 1) )
   )
   (command "_UNDO" "_END")
   (setvar "BLIPMODE" 0)		
   (setvar "OSMODE" 179)
   (princ)
)
;;==============================================================================

=========================
; Duong han net khuat
(defun C:HK ( / )
   (setq p1 (getpoint "\nStart point : ") )
   (setq p2 (getpoint p1 "Ok\nEnd point   : ") )
   (if (null a) (setq a 1.0))
   (setq _a (getdist (strcat "Ok\nDistance <" (rtos a 2 1) ">: ")))
   (if (/= _a nil) (setq a _a))
   (if (null b) (setq b 1.0))
   (setq _b (getdist (strcat "Ok\nLenght <" (rtos b 2 1) ">: ")))
   (if (/= _b nil) (setq b _b))

   (setq l  (distance p1 p2) )
   (setq n  (fix ( / l a ) ) )
   (setq deltaX ( - (car p2) (car p1) ) )
   (setq deltaY ( - (cadr p2) (cadr p1) ) )
   (setq i 0)
   (setvar "OSMODE" 0)
   (setvar "BLIPMODE" 0)		
   (command "_UNDO" "_GROUP")
   (while (<= i n)
	(setq x1 ( + (car p1) (* i (* (/ a l) deltaX )  
						  )
			 ) 
	)
	(setq y1 ( + (cadr p1) (* i (* ( / a l ) deltaY ) 
						   )
			 ) 
	)
	(setq p3 (list x1 y1) )
	(setq x2 ( + x1 (* -1 (* b (/ deltaY l) )
					) 
			 ) 
	) 
	(setq y2 ( + y1 (* b (/ deltaX l) 
					)
			 )
	) 
	(setq p4 (list x2 y2) )
(if (< (rem i 6) 4)		
		  (command "LINE" p3 p4 "")
	)  
	(setq i (+ i 1) )
   )
   (command "_UNDO" "_END")
   (setvar "BLIPMODE" 0)		
   (setvar "OSMODE" 179)
   (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
hiểu chưa bạn

untitled_70.jpg

Em vẽ đường hàn nông dân hơn nhiều.

Như các bác biết đường hàn không thể vẽ đúng tỷ lệ được. Tuỳ theo tỉ lệ in mà chiều cao của đường hàn thay đổi như thế nào đấy để cho mắt người có thế phân biệt được ( em toàn để tầm cỡ 1 mm)

Theo em vẽ đường hàn đơn giản nhất là vẽ 1 cái rectang, hatch Ansi 31 trong cái rectang vừa vẽ. Tuỳ theo đường hàn có thế để góc nghiêng 45 hoặc -45.

Sau đó xoá cái rectang đi. Thế thôi.

Cách này chỉ thực hiện trên Model thôi.

  • 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

Các Pro cho em hỏi em vẽ đường hàn bằng Lip ( sử dụng lệnh DH điểm đầu và điểm cuối) Nhưng không biết làm thế nào để có chiều cao đường hàn theo ý.Các Pro chỉ giáo em vớ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  

×