Đến nội dung


Hình ảnh

Pro ơi Giúp em về lisp Cut Dim!


  • Please log in to reply
6 replies to this topic

#1 choemhoiti

choemhoiti

    biết zoom

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

Đã gửi 15 April 2013 - 12:38 AM

Em upload lisp CUT DIM được rồi nhưng khi gõ lệnh CD thì trên con trỏ chuột lại không thấy có lệnh đó xuất hiện mà lại là  cdate, cdorder, cdyndisplaymode. Lúc trước em đã dùng lệnh cutdim được rồi nhưng không hiểu sao lần này không hiệu quả. Rất mong các pro giúp em!!!


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 15 April 2013 - 01:41 PM

Em upload lisp CUT DIM được rồi nhưng khi gõ lệnh CD thì trên con trỏ chuột lại không thấy có lệnh đó xuất hiện mà lại là  cdate, cdorder, cdyndisplaymode. Lúc trước em đã dùng lệnh cutdim được rồi nhưng không hiểu sao lần này không hiệu quả. Rất mong các pro giúp em!!!

Hề hề hề,

Bạn đã load lisp vào bản vẽ chửa???

Nếu đã load rồi thì cứ gõ CD rồi enter xem nó ra cái giống oẳn tà roằn gì thì copy và post nó lên mọi người sẽ bắt bệnh cho.....


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 choemhoiti

choemhoiti

    biết zoom

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

Đã gửi 21 April 2013 - 10:35 PM

118586_capturegh.png


  • 0

#4 choemhoiti

choemhoiti

    biết zoom

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

Đã gửi 21 April 2013 - 10:39 PM

118586_captureyy.png


  • 0

#5 avi612

avi612

    biết lệnh move

  • Members
  • PipPipPip
  • 126 Bài viết
Điểm đánh giá: 15 (tàm tạm)

Đã gửi 22 April 2013 - 01:29 AM

Em upload lisp CUT DIM được rồi nhưng khi gõ lệnh CD thì trên con trỏ chuột lại không thấy có lệnh đó xuất hiện mà lại là  cdate, cdorder, cdyndisplaymode. Lúc trước em đã dùng lệnh cutdim được rồi nhưng không hiểu sao lần này không hiệu quả. Rất mong các pro giúp em!!!

 

Chắc vấn đề ở chổ load lisp của bạn đó...nếu lisp load thành công thì tên lệnh CD sẽ hiện ra cho bạn chọn, còn nếu ko thấy nghĩa là lisp chưa load được roài...
 
Có cái lisp chức năng tương tự share cho bạn...cái này đi lang thang gõ Google có được đó...cho bạn 3 lựa chọn (cắt chân, cắt đường thể hiện, cắt chân và đường thể hiện)
 

(DEFUN C:CD (/ 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)

(defun myerror (s) ; If an error (such as CTRL-C) occurs
; while this command is active...
(cond
((= s "quit / exit abort") (princ))
((/= s "Function cancelled") (princ (strcat "\nError: " s)))
)
(setvar "cmdecho" CMD) ; Restore saved modes
(setvar "osmode" OSM)
(setq *error* OLDERR) ; Restore old *error* handler
(princ)
)


(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 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)
)
;=======================================================
;Cat duong DIM
(DEFUN C:CX (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI
PT10 PT10I PT10N O10 N10 PT11 PT11N O11 N11 KC OSM OLDERR)

(defun myerror (s) ; If an error (such as CTRL-C) occurs
; while this command is active...
(cond
((= s "quit / exit abort") (princ))
((/= s "Function cancelled") (princ (strcat "\nError: " s)))
)
(setvar "cmdecho" CMD) ; Restore saved modes
(setvar "osmode" OSM)
(setq *error* OLDERR) ; Restore old *error* handler
(princ)
)

(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 PT13 (CDR (ASSOC 13 DS)))
(SETQ PT14 (CDR (ASSOC 14 DS)))
(SETQ PT10 (CDR (ASSOC 10 DS)))
(SETQ PT11 (CDR (ASSOC 11 DS)))
(SETQ N70 (CDR (ASSOC 70 DS)))
(IF (OR (= 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 PT10I (POLAR PT10 GOCY 2))
(SETQ PT10N (INTERS PT PTI PT10 PT10I NIL))
(SETQ KC (DISTANCE PT10 PT10N))
(SETQ O10 (ASSOC 10 DS))
(SETQ N10 (CONS 10 PT10N))
(SETQ DS (SUBST N10 O10 DS))
(SETQ PT11N (POLAR PT11 (ANGLE PT10 PT10N) KC))
(SETQ O11 (ASSOC 11 DS))
(SETQ N11 (CONS 11 PT11N))
(SETQ DS (SUBST N11 O11 DS))
(ENTMOD DS)
)
)
(SETQ DEM (+ DEM 1))
)
)
(COMMAND "UCS" "P")
(SETVAR "CMDECHO" CMD)
(SETVAR "OSMODE" OSM)
(setq *error* OLDERR)
(PRINC)
)

;=======================================================
;Cat chan va duong DIM
(defun c:cdx (/ entdt dcat1 dcat2 sodimsua index sodt ssdt tt)
(defun cdim (entdt pchan pduong / tt old10
old13 old14 new10 new13 new14 p10n
p13n p14n p10o p13o p14o gocduong
gocchan pchanb pduongb loaidim
)
(defun chanvuonggoc (ph p1 p2 / ptemp pkq goc)
(setq
goc (+ (angle p1 p2) (/ pi 2.0))
ptemp (polar ph goc 1000.0)
pkq (inters ph ptemp p1 p2 nil)
)
pkq
)
(setq
tt (entget entdt)
old10 (assoc '10 tt)
old13 (assoc '13 tt)
old14 (assoc '14 tt)
p10o (cdr old10)
p13o (cdr old13)
p14o (cdr old14)
loaidim (logand (cdr (assoc '70 tt)) 7)
gocduong (cond
((= loaidim 1) (angle p13o p14o))
((= loaidim 0) (cdr (assoc '50 tt)))
(t nil)
)
pchan (cond
(pchan (list (car pchan) (cadr pchan) 0.0))
(t pchan)
)
pduong (cond
(pduong (list (car pduong) (cadr pduong) 0.0))
(t pduong)
)

)
(if gocduong
(progn
(if pchan
(setq
pchanb (polar pchan gocduong 1000.0)
p13n (chanvuonggoc (list (car p13o) (cadr p13o) 0.0) pchan pchanb)
p14n (chanvuonggoc (list (car p14o) (cadr p14o) 0.0) pchan pchanb)
new13 (cons 13 p13n)
new14 (cons 14 p14n)
tt (subst new13 old13 tt)
tt (subst new14 old14 tt)
)
)
(if pduong
(setq
pduongb (polar pduong gocduong 1000.0)
p10n (chanvuonggoc (list (car p10o) (cadr p10o) 0.0) pduong pduongb)
new10 (cons 10 p10n)
tt (subst new10 old10 tt)
)
)
(entmod tt)
)
)
gocduong
)
(setq ssdt (ssget '((0 . "DIMENSION")))
dcat1 (getpoint "\n\U+0110i\U+1EC3m c\U+1EAFt chân DIM: ")
dcat2 (getpoint "\n\U+0110i\U+1EC3m c\U+1EAFt \U+0111\U+01B0\U+1EDDng DIM: ")

dcat1 (cond
(dcat1 (trans dcat1 1 0))
(t nil)
)
dcat2 (cond
(dcat2 (trans dcat2 1 0))
(t nil)
)
sodt (sslength ssdt)
index 0
sodimsua 0
)
(repeat sodt
(setq entdt (ssname ssdt index)
index (1+ index)
tt (entget entdt)

)
(if (cdim entdt dcat1 dcat2)
(setq sodimsua (1+ sodimsua))
)
)
(prompt (strcat "\n*** \U+0110ã ch\U+1EC9nh s\U+1EEFa [" (itoa sodimsua) "] Dimension ***"))
(princ)
(princ)
)

 
nguồn: http://www.tramx.vn/...Cùi422201312006


  • 1

#6 choemhoiti

choemhoiti

    biết zoom

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

Đã gửi 22 April 2013 - 02:02 AM

cảm ơn anh nhé! ok rồi, chắc cái lip cũ có vấn đề rồi! :D


  • 0

#7 PNH2010

PNH2010

    Chưa sử dụng CAD

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

Đã gửi 24 March 2016 - 05:25 PM

MÌNH CŨNG BỊ LỖI Y NHƯ VẬY, ko biết sửa tn, cảm ơn bác đã share, cứu mình 1 phen hú vía....


  • 0