Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
6 replies to this topic

#1 thichchemgio

thichchemgio

    biết vẽ circle

  • Members
  • PipPip
  • 36 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 21 September 2008 - 07:50 PM

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
  • 1

#2 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 14 October 2008 - 02:01 PM

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

  • 0

#3 hoai46ctt

hoai46ctt

    biết vẽ spline

  • Members
  • PipPip
  • 91 Bài viết
Điểm đánh giá: 33 (tàm tạm)

Đã gửi 14 October 2008 - 03:33 PM

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.
  • 0
Lần 1: Một hai ba z...ô...zô.
Lần 2: Một hai ba z...ô...zô.
Lần...: Một hai ba z...ô...zô.
Lần 10: Một hai ba "z...a...za".
*************************
Ym! hoai46ctt

#4 MANHHUNGXDA

MANHHUNGXDA

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 926 Bài viết
Điểm đánh giá: 458 (tốt)

Đã gửi 14 October 2008 - 03:44 PM

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)
)
;;==============================================================================

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

=========================

  • 1
Hãy ước cho trọn 1 ước mơ!

#5 oizdoi_oi

oizdoi_oi

    biết dimlinear

  • Members
  • PipPipPipPipPip
  • 306 Bài viết
Điểm đánh giá: 452 (tốt)

Đã gửi 14 October 2008 - 04:09 PM

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

hiểu chưa bạn
Hình đã gửi
  • 0

#6 tronganxn

tronganxn

    biết zoom

  • Members
  • Pip
  • 15 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 30 October 2008 - 06:08 PM

hiểu chưa bạn
Hình đã gửi

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.
  • 1

#7 au_duong_phong

au_duong_phong

    Chưa sử dụng CAD

  • Members
  • Pip
  • 2 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 30 March 2016 - 09:27 AM

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


  • 0