Đến nội dung


Hình ảnh

NHỜ VÃ ANH EM - Lệnh autoslip " sb_ste.lsp " của bác Nguyễn Hoanh


  • Please log in to reply
5 replies to this topic

#1 playpro2013

playpro2013

    biết pan

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

Đã gửi 23 May 2015 - 11:26 AM

Lệnh autoslip " sb_ste.lsp " của bác Nguyễn Hoanh " đối với mình rất cần nhưng chạy trên nền cad 2015 thì báo lỗi .Đọc trong diễn đàn thấy giải thích với lý do " Hàm Bẫy " -Nhưng vì mình không viết được "autoslip" và cũng không có kiến thức căn bản về môn này .Nên nhờ vã ANH EM trong diễn đàn và TÁC GIẢ ra tay giúp đỡ 02 Lệnh : "SB VÀ STE : chạy được trên nền cad 2015 - rất cảm ơn (vì mới tham gia , néu phạm lỗi gì anh em bỏ qua cho)  


  • -1

#2 Tr.CongSon

Tr.CongSon

    biết lệnh array

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

Đã gửi 23 May 2015 - 11:56 AM

Lệnh autoslip " sb_ste.lsp " của bác Nguyễn Hoanh " đối với mình rất cần nhưng chạy trên nền cad 2015 thì báo lỗi .Đọc trong diễn đàn thấy giải thích với lý do " Hàm Bẫy " -Nhưng vì mình không viết được "autoslip" và cũng không có kiến thức căn bản về môn này .Nên nhờ vã ANH EM trong diễn đàn và TÁC GIẢ ra tay giúp đỡ 02 Lệnh : "SB VÀ STE : chạy được trên nền cad 2015 - rất cảm ơn (vì mới tham gia , néu phạm lỗi gì anh em bỏ qua cho)  

Mình cũng mới tham gia nhưng góp ý bạn tý:

  •  Bạn muốn người khác giúp thì it nhất phải có file Lisp đó,để mọi người có thể giúp bạn sửa hoặc giúp đỡ bạn được chớ
  • Đọc xong yêu cầu của bạn,anh em muốn giúp thì phải vào search file Lisp SB và STE gì đó, mà khổ nổi seach xong không biết bạn dùng bản đã update hay chưa ^^

  • 1

#3 playpro2013

playpro2013

    biết pan

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

Đã gửi 23 May 2015 - 01:02 PM

 

Mình cũng mới tham gia nhưng góp ý bạn tý:

  •  Bạn muốn người khác giúp thì it nhất phải có file Lisp đó,để mọi người có thể giúp bạn sửa hoặc giúp đỡ bạn được chớ
  • Đọc xong yêu cầu của bạn,anh em muốn giúp thì phải vào search file Lisp SB và STE gì đó, mà khổ nổi seach xong không biết bạn dùng bản đã update hay chưa ^^

 

* Cám ơn  bạn ,mình dung files này " http://www.cadviet.v.../766_sb_ste.lsp "

 

*Bị báo lỗi " "Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).

Converting (command) calls to (command-s) is recommended."
 
*Bạn có biết files update không ? chỉ hộ mình với - thanks

Bài viết đã được chỉnh sửa nội dung bởi playpro2013: 23 May 2015 - 01:21 PM

  • 0

#4 Tr.CongSon

Tr.CongSon

    biết lệnh array

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

Đã gửi 23 May 2015 - 02:30 PM

 

* Cám ơn  bạn ,mình dung files này " http://www.cadviet.v.../766_sb_ste.lsp "

 

*Bị báo lỗi " "Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).

Converting (command) calls to (command-s) is recommended."
 
*Bạn có biết files update không ? chỉ hộ mình với - thanks

 

Chào bạn,

Lisp bạn down của a Nguyễn Hoành nhưng hình như còn thiếu các hàm con như là init,luuos,done,traoos...

Mình đã fix giúp bạn đây

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=2105
(defun c:sb (/ tapblock sodt index soblocksua
entdt tt diemchen tyle DAIHT DAIMOI
TEMP
)
(init)
(princ "\nDay la lenh Scale block!")
(setq tapblock (ssget '((0 . "INSERT")))
temp (initget "R C")
temp (getreal "\nTy le phong: ")
tyle (cond
((= temp "R")
(setq
daiht (getdist "\nDo dai hien tai: ")
daimoi (getdist "\nDo dai moi: ")
tyle (/ daimoi daiht)
)
)
((= temp "C")
(setq tyle (getreal "\nTy le moi: "))
)
(t temp)
)
sodt (sslength tapblock)
index 0
soblocksua 0
)
(repeat sodt
(setq entdt (ssname tapblock index)
index (1+ index)
tt (entget entdt)
diemchen (trans (cdr (assoc '10 tt)) 0 1)
soblocksua (1+ soblocksua)
)
(luuos)
(setvar "OSMODE" 0)
(command ".scale" entdt "" diemchen tyle)
(traos)
)
(princ (strcat "\nSo block da sua: " (itoa soblocksua)))
(sssetfirst nil tapblock)
(done)
)
;;-----------------------------------
(defun c:ste (/ tapblock sodt index soblocksua
entdt tt diemchen tyle DAIHT DAIMOI
TEMP
)
(init)
(princ "\nDay la lenh Scale TEXT!")
(setq tapblock (ssget '((0 . "TEXT")))
temp (initget "R C")
temp (getreal "\nTy le phong: ")
tyle (cond
((= temp "R")
(setq
daiht (getdist "\nDo dai hien tai: ")
daimoi (getdist "\nDo dai moi: ")
tyle (/ daimoi daiht)
)
)
((= temp "C")
(setq tyle (getreal "\nTy le moi: "))
)
(t temp)
)
sodt (sslength tapblock)
index 0
soblocksua 0
)
(repeat sodt
(setq entdt (ssname tapblock index)
index (1+ index)
tt (entget entdt)
diemchen (trans (cdr (assoc '10 tt)) 0 1)
soblocksua (1+ soblocksua)
)
(luuos)
(setvar "OSMODE" 0)
(command ".scale" entdt "" diemchen tyle)
(traos)
)
(princ (strcat "\nSo TEXT da sua: " (itoa soblocksua)))
(sssetfirst nil tapblock)
(done)
)
;;;;;;;;;;;Cac ham Con
(defun luuos ()
(setq HOANH_OSMODE (getvar "OSMODE")
HOANH_AUTOSNAP (getvar "AUTOSNAP") ))
(defun traos ()
(if HOANH_OSMODE
(setvar "OSMODE" HOANH_OSMODE) )
(if HOANH_AUTOSNAP
(setvar "AUTOSNAP" HOANH_AUTOSNAP)
))
(defun init ()
(setq
HOANH_CMD (getvar "CMDECHO")
HOANH_OLDERROR *error*
*error* hoanh_newerror
)
(setvar "CMDECHO" 0)
(command ".undo" "BE")
)

(defun done ()
(command ".redraw")
(command ".undo" "E")
(if HOANH_CMD
(setvar "CMDECHO" HOANH_CMD)
)
(if HOANH_OLDERROR
(setq *error* HOANH_OLDERROR)
)
(princ)
)

 

 

P/s: Nhớ ấn nút thanks nhá^^ hi


  • 2

#5 playpro2013

playpro2013

    biết pan

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

Đã gửi 23 May 2015 - 05:39 PM

OK ,cám ơn bạn " Tr .CongSon " rất nhiều bạn nhé - Chúc bạn sức khoẻ và thành công 

(sao mình không thấy nút Thanks nhỉ)


  • 0

#6 Tr.CongSon

Tr.CongSon

    biết lệnh array

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

Đã gửi 24 May 2015 - 05:35 AM

OK ,cám ơn bạn " Tr .CongSon " rất nhiều bạn nhé - Chúc bạn sức khoẻ và thành công 

(sao mình không thấy nút Thanks nhỉ)

Nút màu xanh góc dưới bên phải của bài viết đó bạn^^

 

  • 1