Đến nội dung


Hình ảnh
- - - - -

[Nhờ Chỉnh Sửa] Nhờ Mọi Người Xem Dùm Code Lấy Text Xung Quanh Điểm.


  • Please log in to reply
2 replies to this topic

#1 minhtu2004

minhtu2004

    biết lệnh chamfer

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

Đã gửi 06 July 2016 - 10:46 AM

- Mình có viết đoạn code nhờ mọi xem dùm và chỉnh dùm đoạn code lấy text xung quanh điểm và convert thành số. Mình có gửi file cad. Mong mọi người giúp. Có thể thêm dùm mình doạn code nâng độ cao Z của toàn bộ điểm. Bản vẽ có khoảng vài chục ngàn điểm. Thank mọi người.http://www.cadviet.c...4_new_block.dwg

(defun ss2ent (ss / i Le e) ;;;Convert ss to list of ename
(setq i 0)
(repeat (sslength ss)     
(setq e (ssname ss i)        
Le (append Le (list e))        
i (1+ i)    ))
Le)
;///////////////////////////////////////
(defun c:Z0(/ ss etype)
  (setq ss (ssget '((0 . "POINT"))))
  (if ss
    (progn
      (setq ds_line (ss2ent ss))
      (repeat (1- (length ds_line))
	(setq ds_line (vl-remove (setq e0 (car ds_line)) ds_line))
	(foreach e ds_line (setq Lp (append Lp (ds_line e0 e))))
	)
      (foreach k Lp
	(setq pdau (mapcar '+ k '(0.1 0.1 0.0)) pcuoi (mapcar '+ k '(-0.1 -0.1 0.0)))
	(if  (setq ssk   (ssget "_C" pcuoi pdau '((0 . "TEXT"))))
	  (progn
	    (setq ss1 (ss2ent ssk))
	    (foreach u ss1
	      (if (= (cdr (assoc 8 (entget u))) "S-BMK-SRVR")
		(setq te1 (distof (cdr (assoc 1 (entget u))))))
	      )
	    )
	  )
	)
      )
    )
;////////////
(defun chDXF (dxf val ent) (entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
  (setq ss (acet-ss-to-list ss))
  (foreach e ss
    (setq etype (dxf 0 e))
    (cond
      ((or (= etype "POINT"))
       (chdxf 10 (subst te1 (caddr (dxf 10 e)) (dxf 10 e)) e)
       )
      )
    )
(princ)
)

  • 0

-Nhận thực hiện bản vẽ 3D bằng revit.
-Liên hệ: 01664793290.


#2 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 06 July 2016 - 03:39 PM

Đi ngang & nhiều chuyện xíu :D :D :D

 

Trong BV của bạn đã có sẵn point và text tương ứng có điểm chèn cách point 0.05 đơn vị theo phương Oy.

Kết quả bạn mong muốn là từ 2 thứ đó >>>>> Đưa cao độ (Z) của point bằng giá trị của text ?

 

Nếu đúng vậy thì sao bạn không xóa béng thằng point kia đi & từ text đã có ta make thằng point như yêu cầu nhỉ ?!

 

p/s: Code của bạn có cái cóp nhặt (OK ! cũng như mình & bao kẻ khác :D ) nhưng không có sự chọn lọc gây nên sự rối rắm rất khó chịu cho người đọc.

Có lẻ vì thế mà mọi người ngại can thiệp ^^, VD: Vừa ss2ent và vừa acet-ss-to-list


  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#3 minhtu2004

minhtu2004

    biết lệnh chamfer

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

Đã gửi 06 July 2016 - 07:33 PM

Cám ơn bạn đã góp ý
  • 0

-Nhận thực hiện bản vẽ 3D bằng revit.
-Liên hệ: 01664793290.