Đến nội dung


Hình ảnh
- - - - -

( Giúp đở).Phần nguyên và phần thập phân chia làm 2 text.


  • Please log in to reply
6 replies to this topic

#1 hkkh11

hkkh11

    biết zoom

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

Đã gửi 29 March 2012 - 10:07 AM

Vấn đề làm e ngủ ko yên, ăn ko ngon mấy ngày qua.
Em chạy Nova từ file bình đồ có sẵn. Trước đây, chạy thủ công tạo tệp .ntd rất mất thời gian và đòi hỏi tỉ mỉ (đo khoảng cách và nội suy cao độ).
Sau đó mình cũng len mạng tìm hiểu, các lisp mình sdung lisp exptxt để xuất ra file txt, nhưng text của mình có phần nguyên và phần thập phân ko chung 1text, ví dụ 9.6 thì chia ra 9 ứng một text, 6 ứng một text, dấu '.' ứng với vòng tròn. Mình muốn 9.6 chung một text để có thể xuất re file txt Mong các anh chị và các bạn giúp đỡ mình về vấn đề này để mình ăn ngủ có thể ngon hơn được ko ạk.
  • 0

#2 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 29 March 2012 - 10:12 AM

Vấn đề làm e ngủ ko yên, ăn ko ngon mấy ngày qua.
Em chạy Nova từ file bình đồ có sẵn. Trước đây, chạy thủ công tạo tệp .ntd rất mất thời gian và đòi hỏi tỉ mỉ (đo khoảng cách và nội suy cao độ).
Sau đó mình cũng len mạng tìm hiểu, các lisp mình sdung lisp exptxt để xuất ra file txt, nhưng text của mình có phần nguyên và phần thập phân ko chung 1text, ví dụ 9.6 thì chia ra 9 ứng một text, 6 ứng một text, dấu '.' ứng với vòng tròn. Mình muốn 9.6 chung một text để có thể xuất re file txt Mong các anh chị và các bạn giúp đỡ mình về vấn đề này để mình ăn ngủ có thể ngon hơn được ko ạk.

Sắp ăn ngon ngủ yên được rồi. Lisp tương tự đã có, sửa chút xíu có thể OK, mời bạn post bản vẽ lên ngó cái đã mới tiếp tục được.
  • 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.


#3 hkkh11

hkkh11

    biết zoom

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

Đã gửi 29 March 2012 - 10:24 AM

ok có liền nè bạnhttp://www.cadviet.c...3/42721_r14.dwg
  • 0

#4 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 29 March 2012 - 10:43 AM

ok có liền nè bạnhttp://www.cadviet.c...3/42721_r14.dwg

Cái này tôi đã post lên CADViet, sao bây giờ vào link cũ không được. Đành post lại vậy.
Bạn hết sức chú ý khi chọn text: chọn sao cho chúng đi đôi từng cặp nhé!

;Doan Van Ha - CADViet.com - Ngay 16-3-2012
;Muc dich: Noi tung cap text kieu num gan nhau nhat, bang dau ".". VD: noi "5" va "3" thanh "5.3".
;Doi tuong chon va phan nhom theo height cua text.
(defun C:HA2(/ ss lst1 lst2 pt1 pt2 dis ent3)
(setq ent1 (car (entsel "\nChon text so lon lam mau: ")) ent2 (car (entsel "\nChon text so be lam mau: ")))
(setq lay1 (cdr (assoc 8 (entget ent1))) lay2 (cdr (assoc 8 (entget ent2))))
(princ "\nChon tap hop cac Text can noi...")
(setq ss (ssget (list (cons -4 "<AND") (cons 0 "TEXT") (cons -4 "<OR") (cons 8 lay1) (cons 8 lay2) (cons -4 "OR>") (cons -4 "AND>")))) ;OK
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lst (vl-sort lst '(lambda (e1 e2) (> (cdr (assoc 40 (entget e1))) (cdr (assoc 40 (entget e2)))))))
(if (/= (rem (length lst) 2) 0)
(alert "Yeu cau so luong 2 nhom Text phai bang nhau!")
(progn
(setq lst1 (LM:SubList lst 0 (/ (length lst) 2)) lst2 (LM:SubList lst (/ (length lst) 2) (/ (length lst) 2)))
(foreach ent1 lst1
(setq pt1 (cdr (assoc 10 (entget ent1))))
(setq dis (* 2 (distance pt1 (cdr (assoc 10 (entget (nth 0 lst2)))))))
(foreach ent2 lst2
(setq pt2 (cdr (assoc 10 (entget ent2))))
(if (< (distance pt1 pt2) dis)
(setq dis (distance pt1 pt2) ent3 ent2)))
(entmod (subst (cons 1 (strcat (cdr (assoc 1 (entget ent1))) "." (cdr (assoc 1 (entget ent3))))) (assoc 1 (entget ent1)) (entget ent1)))
(entmod (subst (cons 62 1) (assoc 62 (entget ent1)) (entget ent1)))) ;thich mau nao thi thay con so 1 (mau do) la duoc.
(foreach ent2 lst2
(entdel ent2))))
(princ))
(defun LM:SubList ( lst start len ) (cond ((null lst) nil) ((< 0 start) (LM:SubList (cdr lst) (1- start) len)) ((null len) lst) ((< 0 len) (cons (car lst) (LM:SubList (cdr lst) start (1- len))))))

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


#5 hkkh11

hkkh11

    biết zoom

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

Đã gửi 29 March 2012 - 10:52 AM

thanks a rất nhiều.
a có thể viết lisp này chọn nhiều đối tượng ko ak?
Giả sử file bình đồ e như vậy thì phải làm như lisp a lâu quá.
Hay có cách nào khác ko ak?
sdung Nova chẳng hạn để vạch ra sơ đồ tuyến ngay trên nó luôn. e tay ngang qua nên hạn chế rất nhiều, mong a thương giúp đở e cho chót luôn ak. Hi .
  • 0

#6 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 29 March 2012 - 11:12 AM

thanks a rất nhiều.
a có thể viết lisp này chọn nhiều đối tượng ko ak?
Giả sử file bình đồ e như vậy thì phải làm như lisp a lâu quá.
Hay có cách nào khác ko ak?
sdung Nova chẳng hạn để vạch ra sơ đồ tuyến ngay trên nó luôn. e tay ngang qua nên hạn chế rất nhiều, mong a thương giúp đở e cho chót luôn ak. Hi .

Lisp này chọn bao nhiêu đối tượng cũng được, miễn là các đối tượng được chọn thoả mãn:
1). Không có các đối tượng text ngoại lai, tức là text không phải là cao độ (trước và sau dấu chấm).
2). Khi 1 text trước dấu chấm được chọn thì phải có 1 text sau dấu chấm được chọn, và ngược lại.
Dựa vào đó mà bạn chọn cho khéo thôi.
  • 1

* 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.


#7 hkkh11

hkkh11

    biết zoom

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

Đã gửi 29 March 2012 - 11:14 AM

Hi
thanks a rất nhiều.
  • 0