Đến nội dung


Hình ảnh
* * * - - 2 Bình chọn

Viết Lisp theo yêu cầu


  • Chủ đề bị khóa Chủ đề bị khóa
2780 replies to this topic

#381 thoclep

thoclep

    biết lệnh offset

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

Đã gửi 13 December 2007 - 12:28 PM

http://www.cadviet.com/sub/hdownload.php?id=lisp&p=4

Cam on rat nhieu!
  • 0

#382 Sony2007

Sony2007

    biết lệnh copy

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

Đã gửi 13 December 2007 - 12:55 PM

Chương trình ghi tọa độ tâm đường tròn và ghi kích thước kiểu xxxx/2 = yyy:


;;;-------------------------------------------------------------------------------
(defun wtxthp (txt h p / sty d h) ;;;Write txt with 3 parameters
(setq
sty (getvar "textstyle")
d (tblsearch "style" sty)
)
(entmake (list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p)
(if (> h 0) (cons 40 h) (assoc 40 d)) (assoc 41 d))
)
)
;;;-------------------------------------------------------------------------------
(defun cc1(e dx dy / d p x y pt) ;;;Coordinate of 1 Circle
(setq
d (entget e)
p (trans (cdr (assoc 10 d)) 0 1)
x (car p) y (cadr p)
pt (trans (list (+ x dx) (+ y dy)) 1 0)
)
(wtxthp (strcat "x=" (rtos x) "; y=" (rtos y)) h pt)
)
;;;-------------------------------------------------------------------------------
(defun C:CC() ;;;Coordinate of Circles
(if (null h0) (setq h0 2.5))
(setq
ss (ssget '((0 . "CIRCLE")))
h (getreal (strcat "\nText height <" (rtos h0) ">:"))
oldos (getvar "osmode")
)
(if (null h) (setq h h0) (setq h0 h))
(setvar "osmode" 0)
(while (setq e (ssname ss 0))
(cc1 e (/ h 2) (/ h 2))
(ssdel e ss)
)
(setvar "osmode" oldos)
(princ)
)
;;;-------------------------------------------------------------------------------
(defun C:DD( / ss e d v oldtxt newtxt d2) ;;;convert Dimensions to Divided format
(setq ss (ssget '((0 . "DIMENSION"))))
(while (setq e (ssname ss 0))
(setq
d (entget e)
v (cdr (assoc 42 d))
oldtxt (assoc 1 d)
newtxt (cons 1 (strcat (rtos (* v 2)) "/2=<>"))
d2 (subst newtxt oldtxt d)
)
(entmod d2)
(ssdel e ss)
)
(princ)
)
;;;-------------------------------------------------------------------------------
(defun C:XDD(/ p1 p2 x txt) ;;;make X Dimension by Divided format
(setq
p1 (getpoint "\nFirst point:")
p2 (getpoint p1 "\nSecond point:")
x (abs (- (car p1) (car p2)))
txt (strcat (rtos (* x 2)) "/2=<>")
)
(command "dimlinear" p1 p2 "h" "m" txt pause)
)
;;;-------------------------------------------------------------------------------
(defun C:YDD(/ p1 p2 y txt) ;;;make Y Dimension by Divided format
(setq
p1 (getpoint "\nFirst point:")
p2 (getpoint p1 "\nSecond point:")
y (abs (- (cadr p1) (cadr p2)))
txt (strcat (rtos (* y 2)) "/2=<>")
)
(command "dimlinear" p1 p2 "v" "m" txt pause)
)
;;;-------------------------------------------------------------------------------


Có 4 lệnh:
CC, Coordinate of Circles
DD, convert Dimensions to Divided format.
XDD, make X Dimension by Divided format
YDD, make Y Dimension by Divided format

Chú ý:
Lệnh convert DD áp dụng cho mọi đối tượng dimension nhưng các lệnh make chỉ áp dụng cho dimlinear và buộc phải chia thành 2 lệnh XDD và YDD. Lý do: dù có xử lý gì đi nữa, cuối cùng chương trình vẫn phải gọi lệnh dimlinear. Sau khi pick 2 điểm, người dùng có thể tùy ý chọn dim theo phương ngang hoặc thẳng đứng, cái đó nằm ngoài tầm kiểm soát của chương trình nên phải quy định rõ ràng ngay từ đầu! Đã làm đầy đủ theo ý bạn, nhưng theo quan điểm của mình, bạn cứ đánh dim bình thường, sau đó dùng DD cho tất cả các dim muốn convert. Chỉ 1 lần là OK ngay.


Đã đúng ý của em rồi, lần sau em sẽ rút kinh nghiệm khi gửi bài yêu cầu lên diễn đàn. Em chân thành cám ơn bác SSG nhé.

Nhân tiện cho em hỏi: Ở phiên bản AutoCad R14 có lệnh "ctrl + a" là lệnh Group on/off. Vậy ở phiên bản AutoCad 2007 nó là lệnh gì vậy các bác
  • 0

#383 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 13 December 2007 - 08:19 PM

Đã đúng ý của em rồi, lần sau em sẽ rút kinh nghiệm khi gửi bài yêu cầu lên diễn đàn. Em chân thành cám ơn bác SSG nhé.

Nhân tiện cho em hỏi: Ở phiên bản AutoCad R14 có lệnh "ctrl + a" là lệnh Group on/off. Vậy ở phiên bản AutoCad 2007 nó là lệnh gì vậy các bác



Hinh nhu la : Ctrl+H :)
  • 0

#384 Sony2007

Sony2007

    biết lệnh copy

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

Đã gửi 14 December 2007 - 06:58 AM

Hinh nhu la : Ctrl+H :)



Ở phiên bản AutoCad R14 có lệnh "ctrl + a" là lệnh Group on/off. Vậy ở phiên bản AutoCad 2007 nó là lệnh gì vậy các bác
Bác KTS.ngocquan nói là Ctrl+ H, nhưng em đã thử mà không được.
  • 0

#385 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 15 December 2007 - 01:03 AM


(defun c:CInVis (/ SSet Count Elem)
(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
) ;end Dxf
(cond
((setq SSet
(ssget
"X"
(filterchondttheomau
(maucuadoituong
(car (entsel "\nHay pick vao doi tuong de chon mau: ")
)
)
)
)
)
(repeat (setq Count (sslength SSet))
(setq Count (1- COunt)
Elem (ssname SSet Count)
)
(if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
(if (Dxf 60 Elem)
(entmod
(subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))
)
(entmod (append (entget Elem) (list '(60 . 1))))
)
(prompt
"\nEntity on a locked layer. Cannot hide this entity. "
)
) ;end if
) ;end repeat
)
) ;end cond
(princ)
) ;end c:InVis
(defun maucuadoituong (ent)
(setq tt (entget ent)
chon (assoc 62 tt)
)
(cond
(chon (cdr chon))
(t (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 tt))))))
)
)
(defun filterchondttheomau (mau)
(defun chonlayertheomau (mau / kq)
(setq curlay (tblnext "LAYER" t))
(while curlay
(if (= mau (cdr (assoc 62 curlay)))
(setq kq (append kq (list (cdr (assoc 2 curlay)))))
)
(setq curlay (tblnext "LAYER"))
)
kq
)
(setq filterlist
nil
taplayer (chonlayertheomau mau)
)
(foreach pp taplayer
(setq filterlist
(append filterlist
(list (cons -4 "<AND")
(cons 62 256)
(cons 8 pp)
(cons -4 "AND>")
)
)
)
)
(setq filterlist
(append (list (cons -4 "<OR") (cons 62 mau))
filterlist
(list (cons -4 "OR>"))
)
)

Đây là lisp Cinvis đã có trên diễn đàn, em đang cần 1 lisp tương tự nhưng ngược 1 chút có nghĩa là khi chọn đối tượng chứa 1 màu thì các đối tượng có màu giống màu đối tượng chọn được giữ lại còn các đối tương khác thì ẩn đi. Mong các anh giúp em, thanks!!
  • 1

#386 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 15 December 2007 - 09:58 AM

Đây là lệnh CNInvis theo đúng ý bạn. Chỉ việc thêm vài dòng code so với trước. Màu đỏ là mã tôi vừa thêm.

(defun c:C[color="#FF0000"]N[/color]InVis (/ SSet Count Elem)
(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
) ;end Dxf
(cond
((setq SSet
(ssget
"X"
[color="#FF0000"](append
(list (cons -4 " (filterchondttheomau
(maucuadoituong
(car (entsel "\nHay pick vao doi tuong de chon mau: ")
)
)
)
[color="#FF0000"](list (cons -4 "NOT>")))[/color]
)
)
ssadd
(repeat (setq Count (sslength SSet))
(setq Count (1- COunt)
Elem (ssname SSet Count)
)
(if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
(if (Dxf 60 Elem)
(entmod
(subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))
)
(entmod (append (entget Elem) (list '(60 . 1))))
)
(prompt
"\nEntity on a locked layer. Cannot hide this entity. "
)
) ;end if
) ;end repeat
)
) ;end cond
(princ)
) ;end c:InVis
(defun maucuadoituong (ent)
(setq tt (entget ent)
chon (assoc 62 tt)
)
(cond
(chon (cdr chon))
(t (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 tt))))))
)
)
(defun filterchondttheomau (mau)
(defun chonlayertheomau (mau / kq)
(setq curlay (tblnext "LAYER" t))
(while curlay
(if (= mau (cdr (assoc 62 curlay)))
(setq kq (append kq (list (cdr (assoc 2 curlay)))))
)
(setq curlay (tblnext "LAYER"))
)
kq
)
(setq filterlist
nil
taplayer (chonlayertheomau mau)
)
(foreach pp taplayer
(setq filterlist
(append filterlist
(list (cons -4 " (cons 62 256)
(cons 8 pp)
(cons -4 "AND>")
)
)
)
)
(setq filterlist
(append (list (cons -4 " filterlist
(list (cons -4 "OR>"))
)
)
)

  • 2

#387 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 18 December 2007 - 12:27 PM

Cám ơn bác hoành, rất đúng ý em! Em dang cần 1 lisp nữa có nội dung sau: gọi là lisp explore đối tượng có thickness,
VD: trên màn hình là 1 line có thickness là 10, chiều dài 8 (nhìn trong 3D sẽ là 1 hình chữ nhật). tuy nhiên lệnh explore không có tác dụng với đối tượng này, có anh nào có lisp có thể explore đối tượng ra thành 4 line riêng rẽ không? em cám ơn!
  • 0

#388 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 18 December 2007 - 01:11 PM

Cám ơn bác hoành, rất đúng ý em! Em dang cần 1 lisp nữa có nội dung sau: gọi là lisp explore đối tượng có thickness,
VD: trên màn hình là 1 line có thickness là 10, chiều dài 8 (nhìn trong 3D sẽ là 1 hình chữ nhật). tuy nhiên lệnh explore không có tác dụng với đối tượng này, có anh nào có lisp có thể explore đối tượng ra thành 4 line riêng rẽ không? em cám ơn!

Lệnh EXPL (Explode Line) dưới đây sẽ làm điều bạn muốn.


(defun c:expl()
(princ "\nExplode lines with thickness to Lines - free lisp from CADViet.com")
(sudung exponeline (ssget '((0 . "LINE")(-4 . ""))))
(princ)
)

(defun exponeline(ent)
(setq
tt (entget ent)
p1 (cdr (assoc 10 tt))
p2 (cdr (assoc 11 tt))
vt (cdr (assoc 210 tt))
cao (cdr (assoc 39 tt))
a (car vt)
b (cadr vt)
c (caddr vt)
xf (* (/ a (+ a b c)) cao)
yf (* (/ b (+ a b c)) cao)
zf (* (/ c (+ a b c)) cao)
p3 (list
(+ (car p2) xf)
(+ (cadr p2) yf)
(+ (caddr p2) zf)
)
p4 (list
(+ (car p1) xf)
(+ (cadr p1) yf)
(+ (caddr p1) zf)
)
tt (vl-remove (assoc 11 tt) (vl-remove (assoc 10 tt) (subst (cons 39 0.0) (assoc 39 tt) tt)))
)
(entmod (append tt (list (cons 10 p1)(cons 11 p2))))
(entmake (append tt (list (cons 10 p1)(cons 11 p4))))
(entmake (append tt (list (cons 10 p2)(cons 11 p3))))
(entmake (append tt (list (cons 10 p3)(cons 11 p4))))
)

(defun sudung (ham ss / sodt index entdt soapp)
(setq sodt (if ss (sslength ss) 0)
soapp 0
index 0
)
(repeat sodt
(setq entdt (ssname ss index)
index (1+ index)
)
(if (ham entdt)
(setq soapp (1+ soapp))
)
)
soapp
)
(princ "\nExplode Line - free lisp from CADViet.com")
(princ "\nPlease use EXPL to use this command")
(vl-load-com)

  • 1

#389 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 20 December 2007 - 04:32 PM

Thanks anh Hoành, em đang cần 1 lisp nữa có nội dung như sau:
Gọi là lisp extrude 1 đối tượng kín (rectang, pline kín...) lên 1 giá trị nhập vào và đồng thời fillet luôn các cạnh (trên và dưới)của đối tượng đó với chú ý bán kính của fillet bằng nửa của giá trị nhập extrude.
Ví dụ: trên màn hình là 1 circle, chạy lisp hỏi nhập gía trị extrude, kết quả là 1 hình nhìn trong 3D thì giống như cái nút bấn hay cái bánh rán bẹt vậy (vì 2 circle trên và dưới đã được bo tròn).
  • 0

#390 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 20 December 2007 - 04:43 PM

Thanks anh Hoành, em đang cần 1 lisp nữa có nội dung như sau:
Gọi là lisp extrude 1 đối tượng kín (rectang, pline kín...) lên 1 giá trị nhập vào và đồng thời fillet luôn các cạnh (trên và dưới)của đối tượng đó với chú ý bán kính của fillet bằng nửa của giá trị nhập extrude.
Ví dụ: trên màn hình là 1 circle, chạy lisp hỏi nhập gía trị extrude, kết quả là 1 hình nhìn trong 3D thì giống như cái nút bấn hay cái bánh rán bẹt vậy (vì 2 circle trên và dưới đã được bo tròn).

Cái này nằm ngoài khả năng của tôi!
  • 0

#391 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 20 December 2007 - 05:13 PM

Cái này nằm ngoài khả năng của tôi!

Vâng, đúng là khó thật, thôi thì thế này anh lập giúp em 1 lisp lấy ra kết quả chiều cao extrude của 1 đối tượng 3D solid nha!(nếu đối tượng là box thì lấy height của nó) sau đó nhập điểm chèn kết qủa, còn lại em sẽ tự xử lý, thanks bác!?
  • 0

#392 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 20 December 2007 - 05:32 PM

Vâng, đúng là khó thật, thôi thì thế này anh lập giúp em 1 lisp lấy ra kết quả chiều cao extrude của 1 đối tượng 3D solid nha!(nếu đối tượng là box thì lấy height của nó) sau đó nhập điểm chèn kết qủa, còn lại em sẽ tự xử lý, thanks bác!?

Xin lỗi bạn, vẫn nằm ngoài khả năng.
Tất cả các vấn đề về lấy dữ liệu hay modify khối 3D Solid bằng lisp đều nằm ngoài khả năng của tôi.
  • 0

#393 hiepga1981

hiepga1981

    biết zoom

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

Đã gửi 21 December 2007 - 11:50 AM

bác Hoành giúp e với cái lips tính diện tích trong quy hoạch e tìm thấy trên này nhưng chưa đạt yêu cầu thực tế sử dụng của dân quy hoạch lắm e mong bác chỉnh sửa lại giúp theo 1 số điều kiện sau:
1 - chỉ cần 2 loại ký hiệu vòng tròn :(nếu có thể tùy biến được cái này thì hay quá)
+loại 1 : bao gồm các ký hiệu như: tên lô đất, diện tích, mật độ xây dựng, tầng cao tb, hệ số sử dụng đất
+loại 2 : tên lô đất, diện tích
2- Riêng ký hiệu tên lô đất phải là font khác so với các ký hiệu còn lại - dùng font chữ đậm hơn, các text thể hiện các thông số thì dùng text Fit để tránh tình trạng số dài quá thường lấn sang ô bên cạnh và tòi ra cả ngoài vòng tròn (trông xấu và lem nhem lắm ạ - cái lips hiện tại đang mắc phải vấn đề này)
3 - Khi thay đổi diện tích lô thì số trong ký hiệu tự động thay đổi theo
4 - chọn được nhiều lô đất cùng 1 lúc và tất cả vòng tròn ký hiệu luôn luôn hiện ở trung tâm của lô đất (cái lips trên này cứ bắt pick vị trí đặt ký hiệu theo e là thừa ko cần thiết)
trên đây là nhu cầu rất cần thiết của dân làm quy hoạch bọn e mong các bác nghiên cứu giúp đỡ ạ!, thanks các bác!
đây là bài post cái lips trên : http://www.cadviet.com/forum/index.php?showtopic=855
mong các bác điều chỉnh lại một chút thì mọi người mới áp dụng được ạ, cám ơn các bác nhiều
  • 0

#394 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 21 December 2007 - 12:05 PM

bác Hoành giúp e với cái lips tính diện tích trong quy hoạch e tìm thấy trên này nhưng chưa đạt yêu cầu thực tế sử dụng của dân quy hoạch lắm e mong bác chỉnh sửa lại giúp theo 1 số điều kiện sau:
1 - chỉ cần 2 loại ký hiệu vòng tròn :(nếu có thể tùy biến được cái này thì hay quá)
+loại 1 : bao gồm các ký hiệu như: tên lô đất, diện tích, mật độ xây dựng, tầng cao tb, hệ số sử dụng đất
+loại 2 : tên lô đất, diện tích
2- Riêng ký hiệu tên lô đất phải là font khác so với các ký hiệu còn lại - dùng font chữ đậm hơn, các text thể hiện các thông số thì dùng text Fit để tránh tình trạng số dài quá thường lấn sang ô bên cạnh và tòi ra cả ngoài vòng tròn (trông xấu và lem nhem lắm ạ - cái lips hiện tại đang mắc phải vấn đề này)
3 - Khi thay đổi diện tích lô thì số trong ký hiệu tự động thay đổi theo
4 - chọn được nhiều lô đất cùng 1 lúc và tất cả vòng tròn ký hiệu luôn luôn hiện ở trung tâm của lô đất (cái lips trên này cứ bắt pick vị trí đặt ký hiệu theo e là thừa ko cần thiết)
trên đây là nhu cầu rất cần thiết của dân làm quy hoạch bọn e mong các bác nghiên cứu giúp đỡ ạ!, thanks các bác!
đây là bài post cái lips trên : http://www.cadviet.com/forum/index.php?showtopic=855
mong các bác điều chỉnh lại một chút thì mọi người mới áp dụng được ạ, cám ơn các bác nhiều

Bạn đừng viết văn tả cảnh làm gì!
Hãy upload một ký hiệu mẫu dạng block attribute của bạn lên diễn đàn, bạn sẽ được như ý.

Trong thời đại công nghệ, đừng tự trói tay mình.
  • 0

#395 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 21 December 2007 - 12:58 PM

các bác ơi, em đang cần 1 lisp có chức năng thay đổi giá trị biến DIMEXE: ý tưởng lisp của em là chọn 1 đối tượng dim trên màn hình sau đó lisp hỏi nhập gía trị dimexe cần thay đổi, sẽ cho kết quả dim đó sẽ nhận giá trị dimexe vừa nhập, Các anh giúp em nha, thanks!
  • 0

#396 hiepga1981

hiepga1981

    biết zoom

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

Đã gửi 21 December 2007 - 01:02 PM

đây file cad của e đây :
http://www.cadviet.com/upfiles/ban_ve_quy_hoach.dwg
thanks bác
  • 0

#397 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 21 December 2007 - 01:03 PM

các bác ơi, em đang cần 1 lisp có chức năng thay đổi giá trị biến DIMEXE: ý tưởng lisp của em là chọn 1 đối tượng dim trên màn hình sau đó lisp hỏi nhập gía trị dimexe cần thay đổi, sẽ cho kết quả dim đó sẽ nhận giá trị dimexe vừa nhập, Các anh giúp em nha, thanks!

Bạn nhấn phím Ctrl+F1, dò đến chỗ cần sửa, nhập số vào.
Vừa có giao diện đẹp, lại thân thiện, dùng lisp làm gì!
  • 0

#398 xaydung

xaydung

    biết lệnh trim

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

Đã gửi 21 December 2007 - 01:25 PM

Bạn nhấn phím Ctrl+F1, dò đến chỗ cần sửa, nhập số vào.
Vừa có giao diện đẹp, lại thân thiện, dùng lisp làm gì!

Em dựa vào cái lisp mà bác vừa viết cho em nhưng chưa biết xoay sở thế nào , mong bác giúp em:
(defun c:suaEXE (/ str ent)
(setq ent1 (car (entsel "\nHay chon dim: "))
giatrimoi (getreal "\nHay nhap vao gia tri DIMEXE moi: ")

;; em mắc ở đây ??? ent (giatrimoi cho ent1) ??? ; để lấy ra cái ent cho dim mới

str (rtos (getdimcode ent 40) 2 4)
)
)
;; và kết thúc như thế nào???

(defun wtxt (txt p / sty d h)
(setq
sty (getvar "textstyle")
d (tblsearch "style" sty)
h (cdr (assoc 40 d))
)
(entmake (list (cons 0 "TEXT")
(cons 7 sty)
(cons 1 txt)
(cons 10 p)
(if (> h 0)
(cons 40 h)
(assoc 40 d)
)
(assoc 41 d)
)
  • 0

#399 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 21 December 2007 - 01:34 PM

Em dựa vào cái lisp mà bác vừa viết cho em nhưng chưa biết xoay sở thế nào , mong bác giúp em:
(defun c:suaEXE (/ str ent)
(setq ent1 (car (entsel "\nHay chon dim: "))
giatrimoi (getreal "\nHay nhap vao gia tri DIMEXE moi: ")

;; em mắc ở đây ??? ent (giatrimoi cho ent1) ??? ; để lấy ra cái ent cho dim mới

str (rtos (getdimcode ent 40) 2 4)
)
)
;; và kết thúc như thế nào???

Bó tay thực sự, không biết bạn mắc cái gì, ở đâu nữa.
  • 0

#400 hiepga1981

hiepga1981

    biết zoom

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

Đã gửi 22 December 2007 - 01:46 PM

bác Hoành ơi bác cố gắng nghiên cứu giúp e cái lips đo diện tích trên nhé, file e gửi lên là Cad2007 bác có cần e đổi lại Cad2004 ko ạ? thanks bác!
  • 0