Đến nội dung


Hình ảnh
- - - - -

[ yêu cầu ] Lisp cắt 1 chân Dim !


  • Please log in to reply
6 replies to this topic

#1 girl

girl

    biết vẽ spline

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

Đã gửi 30 September 2013 - 07:14 AM

Em đang cần cái lisp cắt 1 chân Dim cụ thể như sau,

đối tượng được em chọn trước là 1 đường dim hoặc nhiều đường dim có 1 chân dim ở cùng 1 vị trí

command : cut

Vi tri cut: em chọn vào điểm muốn cut

Như vậy lisp sẽ cut 1 bên chân dim ngắn đến vị trí điểm em chọn

Em gửi file minh họa kèm theo.:http://www.mediafire...hguyu1amjwflwj5

Mong các anh giúp đỡ !

Em xin cảm ơn CADVIET


  • 0

#2 girl

girl

    biết vẽ spline

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

Đã gửi 05 October 2013 - 07:15 AM

không ai giúp em ạ ?


  • 0

#3 trungboss0608

trungboss0608

    biết pan

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

Đã gửi 05 October 2013 - 08:36 AM

http://www.cadviet.c..._kich_thuoc.lsp của bạn đấy


  • 0

#4 girl

girl

    biết vẽ spline

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

Đã gửi 05 October 2013 - 03:41 PM

đợt này trang CADVIET Bị lỗi gì em không biết. Em không vào được link anh 

trungboss0608 post ạ. Mạng chỗ em đường truyền cáp quang mà cứ vào CADVIET cái là bị đơ rồi không thể kết nối với  www.cadviet.com được. Anh nào vào đựơc link đó copy giúp em cái code của lisp ra ngoài với ạ !
  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 05 October 2013 - 03:48 PM

Copy ra ngoài giúp bạn đây.

(DEFUN C:XX (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI PT13I PT14I
                PT13N PT14N O13 O14 N13 N14 OSM OLDERR PT10 PT11)
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ OSM (GETVAR "OSMODE"))
(SETQ OLDERR *error*
      *error* myerror)
(PRINC "Please select dimension object!")
(SETQ SS (SSGET))
(SETVAR "CMDECHO" 0)
(SETQ PT (GETPOINT "Point to trim or extend:"))
(SETQ PT (TRANS PT 1 0))
(COMMAND "UCS" "W")
(SETQ LTH (SSLENGTH SS))
(SETQ DEM 0)
(WHILE (< DEM LTH)
    (PROGN
(SETQ DS (ENTGET (SSNAME SS DEM)))
(SETQ KDL (CDR (ASSOC 0 DS)))
(IF (= "DIMENSION" KDL)
  (PROGN
(SETQ PT10 (CDR (ASSOC 10 DS)))
(SETQ PT11 (CDR (ASSOC 11 DS)))
(SETQ PT13 (CDR (ASSOC 13 DS)))
(SETQ PT14 (CDR (ASSOC 14 DS)))
(SETQ N70 (CDR (ASSOC 70 DS)))
(IF (OR (= N70 0) (= N70 32) (= N70 33) (= N70 160) (= N70 161))
  (PROGN
(SETQ GOCY (ANGLE PT10 PT14))
(SETQ GOCX (+ GOCY (/ PI 2)))
  )
)
(SETVAR "OSMODE" 0)
(SETQ PTI (POLAR PT GOCX 2))
(SETQ PT13I (POLAR PT13 GOCY 2))
(SETQ PT14I (POLAR PT14 GOCY 2))
(SETQ PT13N (INTERS PT PTI PT13 PT13I NIL))
(SETQ PT14N (INTERS PT PTI PT14 PT14I NIL))
(SETQ O13 (ASSOC 13 DS))
(SETQ O14 (ASSOC 14 DS))
(SETQ N13 (CONS 13 PT13N))
(SETQ N14 (CONS 14 PT14N))
(SETQ DS (SUBST N13 O13 DS))
(SETQ DS (SUBST N14 O14 DS))
(ENTMOD DS)
  )
)
(SETQ DEM (+ DEM 1))
    )
)
(COMMAND "UCS" "P")
(SETVAR "CMDECHO" CMD)
(SETVAR "OSMODE" OSM)
(setq *error* OLDERR)               ; Restore old *error* handler
(PRINC)
)
 

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#6 girl

girl

    biết vẽ spline

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

Đã gửi 05 October 2013 - 04:02 PM

lisp này là lisp cắt DIM bình thường, 1 dim có 2 đường gióng. Em cần lisp cắt 1 chân dim tương đương với 1 đường gióng tại vị trí mình chọn trên bản vẽ như phần minh họa em gửi kèm ạ. Anh trungboss hiểu nhầm ý của em rồi ạ !


  • 0

#7 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 14 October 2013 - 08:47 AM

Chọn chân dim cần cắt bằng crossing window

 

(load "c1d.fas")

(defun C:C1D ( / ss p)
    (setq ss (ssget '((0 . "DIMENSION")(-4 . "<NOT")(-4 . "&")(70 . 7)(-4 . "NOT>"))))
    (setq p (getpoint))
    (C1D ss p)
)

 

  • 0