Đến nội dung


Hình ảnh
- - - - -

Nhờ Sửa Lips Cộng Dim


  • Please log in to reply
13 replies to this topic

#1 hnfunny

hnfunny

    biết pan

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

Đã gửi 08 December 2016 - 09:45 AM

Em tìm được lips cộng dim thành tổng diễn giải để làm hồ sơ ấy ạ. Nhưng có một vấn đề là lips này k lấy được dim sau khi đã làm tròn. Mong tìm được cao nhân sửa giúp em. Em xin cảm ơn và tạ lễ

 

 

 

 
 
(defun c:ccd(/ gtt dt sdt ent id str)
 
  (setq dt (ssget '((0 . "DIMENSION")))
 
sdt (sslength dt)
 
id 0
 
gtt 0
 
str "="
 
)
 
  (repeat sdt
 
(setq
 
   ent (ssname dt id)
 
      id (1+ id)
 
   gtt (+ gtt (gt1 ent) )
 
str (strcat str  (Rtos (gt1 ent) 2 2)  "+")
 
   )
 
)
 
(Lisped (substr str 1 (1- (strlen str))))
 
  (princ gtt)
 
  (princ)
 
  )
 
;;;;;;;;;;;;;;;;;;;;;;;;;;
 
(defun gt1(ent / so)
 
(if (wcmatch(cdr(assoc 1 (entget ent)))"")
 
   (setq so (cdr(assoc 42 (entget ent))))
 
   (setq so (atof(cdr(assoc 1 (entget ent)))))
 
   )
 
)
 
 
 

  • 0

#2 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 08 December 2016 - 10:13 AM

Thay (Rtos (gt1 ent) 2 2) thành (Rtos (gt1 ent) 2 0)

 

- Các bác thâm niên thì cho em hỏi xíu: Cái Hàm ( LISPED  .....)   thì em tìm nó ở đâu thế. Trong thư viện Help chẳng thấy đâu, cứ ngờ ngợ  ;)  ;)


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#3 Bee

Bee

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 214 Bài viết
Điểm đánh giá: 76 (tàm tạm)

Đã gửi 08 December 2016 - 01:32 PM

Thay (Rtos (gt1 ent) 2 2) thành (Rtos (gt1 ent) 2 0)

 

- Các bác thâm niên thì cho em hỏi xíu: Cái Hàm ( LISPED  .....)   thì em tìm nó ở đâu thế. Trong thư viện Help chẳng thấy đâu, cứ ngờ ngợ  ;)  ;)

acad.dcl 

 

// LispEd.dcl

//
//
// Prototype layout for single-line MText editor.
 
MTEXTED sysvar: 
 ":LispEd" --->single line lisp :D
+ "" ------------> full editor

  • 1

#4 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 08 December 2016 - 03:41 PM

 

acad.dcl 

 

// LispEd.dcl

//
//
// Prototype layout for single-line MText editor.
 
MTEXTED sysvar: 
 ":LispEd" --->single line lisp :D
+ "" ------------> full editor

 

 

Hỏi thêm bác câu nữa. Em biết câu lệnh (LISPED ) xài kiểu gì. ---> Xem  ví dụ của các câu lệnh / hộp thoại này như thế nào?  < Thực chất thì nó là 1 dạng hộp thoại do người dùng lập ra mà>  .   :)


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#5 Bee

Bee

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 214 Bài viết
Điểm đánh giá: 76 (tàm tạm)

Đã gửi 08 December 2016 - 04:08 PM

Hỏi thêm bác câu nữa. Em biết câu lệnh (LISPED ) xài kiểu gì. ---> Xem  ví dụ của các câu lệnh / hộp thoại này như thế nào?  < Thực chất thì nó là 1 dạng hộp thoại do người dùng lập ra mà>  .   :)

findfile acad.dcl Xong rôì tìm hàm hộp thoại trên trong file acad.dcl đó.


  • 0

#6 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 08 December 2016 - 04:23 PM

findfile acad.dcl Xong rôì tìm hàm hộp thoại trên trong file acad.dcl đó.

 Nãy a nói cái là em mò ra được là nó ở đâu rồi.

Ý em là ngoài hàm (LISPED ) ra thì còn nhiều hàm khác. 

Đọc thì em cũng hiểu là Acad.dcl là 1 file tạo ra các giao diện hộp thoại trong cad. Vấn đề là tự dưng lisp trên sử dụng hàm (Lisped...) làm em hơi ngờ ngợ, biết đâu có những hàm tương tự mà chức năng lại hay để mình xài thì sao.  :D  :D Thấy xài code đấy cũng hay hay. : )

Chứ còn em nghĩ lisp trên ko cần xài như thế, cứ princ ra là được.


  • 0

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#7 hnfunny

hnfunny

    biết pan

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

Đã gửi 09 December 2016 - 03:22 PM

Thay (Rtos (gt1 ent) 2 2) thành (Rtos (gt1 ent) 2 0)

 

- Các bác thâm niên thì cho em hỏi xíu: Cái Hàm ( LISPED  .....)   thì em tìm nó ở đâu thế. Trong thư viện Help chẳng thấy đâu, cứ ngờ ngợ  ;)  ;)

Không được đâu bác. Dim đã làm tròn vẫn ra kết quả dim chính xác . Không lấy được kết quả sau khi đã làm tròn. xem lại hộ em với


  • 0

#8 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 09 December 2016 - 03:47 PM

Không được đâu bác. Dim đã làm tròn vẫn ra kết quả dim chính xác . Không lấy được kết quả sau khi đã làm tròn. xem lại hộ em với

 

Tôi tưởng bạn cần lấy mỗi dòng dim làm tròn, chứ thấy có yêu cầu lấy tổng ra làm tròn đâu !.

Thay thêm dòng:  (+ gtt (gt1 ent) )     thành  (+ gtt (atof (rtos (gt1 ent) 2 0)))

Mà đầu topic bạn bảo hậu tạ..... Thế định hậu tạ tôi cái gì nhể.  ;)  ;)  ;)  


  • 1

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#9 hnfunny

hnfunny

    biết pan

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

Đã gửi 15 December 2016 - 02:01 PM

Tôi tưởng bạn cần lấy mỗi dòng dim làm tròn, chứ thấy có yêu cầu lấy tổng ra làm tròn đâu !.

Thay thêm dòng:  (+ gtt (gt1 ent) )     thành  (+ gtt (atof (rtos (gt1 ent) 2 0)))

Mà đầu topic bạn bảo hậu tạ..... Thế định hậu tạ tôi cái gì nhể.  ;)  ;)  ;)  

Em nói là làm. bác muốn em hậu tạ gì bữa nhậu hay card đt :D


  • 0

#10 hnfunny

hnfunny

    biết pan

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

Đã gửi 15 December 2016 - 02:13 PM

Tôi tưởng bạn cần lấy mỗi dòng dim làm tròn, chứ thấy có yêu cầu lấy tổng ra làm tròn đâu !.

Thay thêm dòng:  (+ gtt (gt1 ent) )     thành  (+ gtt (atof (rtos (gt1 ent) 2 0)))

Mà đầu topic bạn bảo hậu tạ..... Thế định hậu tạ tôi cái gì nhể.  ;)  ;)  ;)  

Vẫn không được bác ơi . Ví dụ 2598 để round off 10 thì ccd nó vẫn lấy giá trị thực là 2600 chứ k lấy được 2598167b99.jpg


  • 0

#11 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 15 December 2016 - 03:37 PM

Vẫn không được bác ơi . Ví dụ 2598 để round off 10 thì ccd nó vẫn lấy giá trị thực là 2600 chứ k lấy được 2598

 

Hình như đang có sự nhầm lẫn: Phải là ccd nó lấy giá trị 2598 chứ không phải là 2600 !!!

- Trả lời bạn thế này:

+  Lisp trên ko viết cho bất kì Dimention nào lấy tròn Round, nó lấy theo chiều dài thực của Dimetion đã làm tròn 1 đơn vị. Nếu muốn dùng cho trường hợp làm trong Round=10 thì phải viết lách thành 1 cái lisp mới.

+  Cám ơn tui ko cần phải Card thẻ gì đâu... Chỉ cần bạn ra ngoài đường, gặp em bé  / cụ già nào đói rét quá, thì cho họ 50k hay 100k là được. Ah, thêm cả nút Thanks nữa :v


  • 1

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#12 hnfunny

hnfunny

    biết pan

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

Đã gửi 15 December 2016 - 03:48 PM

Hình như đang có sự nhầm lẫn: Phải là ccd nó lấy giá trị 2598 chứ không phải là 2600 !!!

- Trả lời bạn thế này:

+  Lisp trên ko viết cho bất kì Dimention nào lấy tròn Round, nó lấy theo chiều dài thực của Dimetion đã làm tròn 1 đơn vị. Nếu muốn dùng cho trường hợp làm trong Round=10 thì phải viết lách thành 1 cái lisp mới.

+  Cám ơn tui ko cần phải Card thẻ gì đâu... Chỉ cần bạn ra ngoài đường, gặp em bé  / cụ già nào đói rét quá, thì cho họ 50k hay 100k là được. Ah, thêm cả nút Thanks nữa :v

Thế em lại đang cần cái lấy làm tròn theo round off cơ. Chứ nếu lấy 2598 thì lips ban đầu vẫn giải quyết được rồi. hầy. Dù sao cũng cám ơn bác


  • 0

#13 Danh Cong

Danh Cong

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 316 Bài viết
Điểm đánh giá: 60 (tàm tạm)

Đã gửi 15 December 2016 - 04:14 PM

Sửa 1 chút cho bạn để xài với Round=10

 

Thay đoạn 

 

gtt (+ gtt (gt1 ent) )

str (strcat str  (Rtos (gt1 ent) 2 2)  "+")
 
Bằng: 
 
gtt (+ gtt (* (atof (rtos (/ (gt1 ent) 10) 2 0)) 10))
str (strcat str (rtos (* (atof (Rtos (/ (gt1 ent) 10) 2 0)) 10) 2 0)  "+")

 


  • 1

             ***  Vô lo - Vô nghĩ - Vô sầu hận  ***

***  Chẳng thương - Chẳng giận - Chẳng đau lòng  ***


#14 hnfunny

hnfunny

    biết pan

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

Đã gửi 15 December 2016 - 04:41 PM

Sửa 1 chút cho bạn để xài với Round=10

Được rồi, tuyệt quá cám ơn bacs.Tương tự với 100 , 200 chỉ cần thay vào vị trí số 10 là đc hả anh


  • 0