Đến nội dung


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

LISP : Ánh xạ giá trị đối tượng (thay đổi giá trị nguồn -> Đích cập nhật theo)


  • Please log in to reply
76 replies to this topic

#1 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 31 August 2009 - 04:11 PM

Chào các bạn
Nhân đọc bài Ánh xạ giá trị đối tượng text, nguồn đổi giá trị, đích bị sửa của bác Hoành,
xin gửi các bạn LISP : Ánh xạ giá trị đối tượng gồm
1 . LinkT : Ánh xạ giá trị Text
2 . LinkA : Ánh xạ giá trị Diện tích
chú ý : khi sửa giá trị ở đối tượng nguồn, đối tượng đích (text) chỉ update sau khi sử dụng lệnh REGEN, SAVE, PLOT, ...
(defun c:LinkT (/ ss_ent ent ss e cmd);Link Text
(if (> (atof (substr (getvar "ACADVER") 1 4)) 16.1) ;;;AutoCAD 2006 16.2
(progn
(vl-load-com)
(command "_.undo" "_begin")
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(and (princ "\nChon Text goc : ")
(setq ss_ent (ssget "_:S:E" '((0 . "TEXT"))) )
(setq ent (vlax-ename->vla-object (ssname ss_ent 0)))
(princ "\nChon Text can Link gia tri tu Text goc : ")
(setq ss (ssget (list (cons 0 "TEXT")) ))
(foreach e (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
(vla-put-TextString
(vlax-ename->vla-object e)
(strcat"%<\\AcObjProp Object(%<\\_ObjId "(vl-princ-to-string (vla-get-ObjectId ent)) ">%).TextString >%")
)
)
)
(setvar "cmdecho" cmd)
(command "_.undo" "_end")(princ)
)
(alert "\nChi chay tren Autocad 2006-2010")
)
)

(defun c:LinkA (/ ss_ent ent ss e cmd sole tile Suff Pref);Link Area
(if (> (atof (substr (getvar "ACADVER") 1 4)) 16.1) ;;;AutoCAD 2006 16.2
(progn
(vl-load-com)
(command "_.undo" "_begin")
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(and (princ "\nChon doi tuong lay Dien tich : ")
(setq ss_ent (ssget "_:S:E" '((0 . "*POLYLINE,ARC,SPLINE,ELLIPSE,CIRCLE"))) )
(setq ent (vlax-ename->vla-object (ssname ss_ent 0)))
(princ "\nChon Text can Link gia tri Dien tich : ")
(setq ss (ssget (list (cons 0 "TEXT")) ))
(setq sole (getvar "Luprec"));so le
(setq tile 1);ti le
(setq Pref "S=")
(setq Suff " mm2")
(foreach e (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
(vla-put-TextString
(vlax-ename->vla-object e)
(strcat "%<\\AcObjProp Object(%<\\_ObjId "
(vl-princ-to-string (vla-get-ObjectId ent) )
">%).Area \\f \"%lu2%ps[" Pref "," Suff "]%pr" (itoa sole) "%ct8[" (vl-princ-to-string tile) "]\">%"
)
)
)
)
(setvar "cmdecho" cmd)
(command "_.undo" "_end")(princ)
)
(alert "\nChi chay tren Autocad 2006-2010")
)
)

  • 11

#2 hai_1401

hai_1401

    biết lệnh rotate

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

Đã gửi 04 September 2009 - 08:50 AM

Cái này dùng thế nào hở bác :s_big:
  • 0

#3 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 05 September 2009 - 04:57 PM

Chào các bạn
Nhân đọc bài Ánh xạ giá trị đối tượng text, nguồn đổi giá trị, đích bị sửa của bác Hoành,
xin gửi các bạn LISP : Ánh xạ giá trị đối tượng gồm
1 . LinkT : Ánh xạ giá trị Text
2 . LinkA : Ánh xạ giá trị Diện tích
chú ý : khi sửa giá trị ở đối tượng nguồn, đối tượng đích (text) chỉ update sau khi sử dụng lệnh REGEN, SAVE, PLOT, ...

Cám ơn, rất hay. Bạn có thể nghiên cứu sao cho đối tượng đích cập nhật ngay sau khi đối tượng nguồn thay đổi thì rất tuyệt
  • 0

#4 nataca

nataca

    biết lệnh adcenter

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

Đã gửi 05 September 2009 - 08:05 PM

Cám ơn, rất hay. Bạn có thể nghiên cứu sao cho đối tượng đích cập nhật ngay sau khi đối tượng nguồn thay đổi thì rất tuyệt

Cái này khó đấy bác ạ. Nhiệm vụ của lisp chỉ là tạo liên kết giữa 2 đối tượng còn sau đó nó thay đổi như thế nào không nằm trong phạm vi ảnh hưởng của lisp nữa.
  • 0

#5 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 05 September 2009 - 11:52 PM

Cái này khó đấy bác ạ. Nhiệm vụ của lisp chỉ là tạo liên kết giữa 2 đối tượng còn sau đó nó thay đổi như thế nào không nằm trong phạm vi ảnh hưởng của lisp nữa.

Mình thấy trong Visual Lisp có chủ đề REACTOR. Hình như chủ đề này có liên quan đến vấn đề đang bàn. Kg biết có bạn nào ứng dụng chưa thì cho ý kiến. Mình chưa có thời gian nghiên cứu vấn đề này nên kg biết nó có làm đc như ý trên kg
  • 0

#6 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 07 September 2009 - 07:37 AM

Mình thấy trong Visual Lisp có chủ đề REACTOR. Hình như chủ đề này có liên quan đến vấn đề đang bàn. Kg biết có bạn nào ứng dụng chưa thì cho ý kiến. Mình chưa có thời gian nghiên cứu vấn đề này nên kg biết nó có làm đc như ý trên kg

Đúng là REACTOR có thể làm đuợc vấn đề này : cập nhật đối tượng đích ngay sau khi đối tượng nguồn thay đổi.
Nhưng việc sử dụng REACTOR tốn rất nhiều công sức đầu vào (tuơng tự như trong CƠ SỞ DỮ LIỆU để có thể truy xuất đuợc dữ liệu, phải có Database và việc bỏ thời gian (đồng nghĩa với tiền bạc) để nhập Database có lẽ bạn biết rồi ...)
  • 0

#7 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 07 September 2009 - 07:05 PM

Đúng là REACTOR có thể làm đuợc vấn đề này : cập nhật đối tượng đích ngay sau khi đối tượng nguồn thay đổi.
Nhưng việc sử dụng REACTOR tốn rất nhiều công sức đầu vào (tuơng tự như trong CƠ SỞ DỮ LIỆU để có thể truy xuất đuợc dữ liệu, phải có Database và việc bỏ thời gian (đồng nghĩa với tiền bạc) để nhập Database có lẽ bạn biết rồi ...)

Mình nghĩ kg tốn nhiều công sức như bạn nghĩ đâu, có điều nó chưa thật sự hấp dẫn hoặc công việc của bạn chưa cần đến. Mình đọc qua các bài viết của bạn thấy bạn vận dụng Visual Lisp rất linh hoạt và thành thạo. Bản thân mình kg rành Visual Lisp và công việc khá bận rộn nên chưa nghiên cứu VL và REACTOR, nếu trước đây mình biết đến REACTOR thì đã vận dụng vào công việc rồi. Hiện nay mình vẫn phải cập nhật đối tựợng đích thông qua 1 lệnh chứ chưa tự động, mình thấy nó là một đột phá của Lisp, rất hay. Nhưng kg rõ khi dùng với rất nhiều đối tượng nguồn và đích thì có ảnh hưởng đến tốc độ kg.
  • 0

#8 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 09 September 2009 - 09:36 AM

..........
có điều nó chưa thật sự hấp dẫn hoặc công việc của bạn chưa cần đến.
............................

Bạn tham khảo 1 ví dụ về REACTOR :
- Cập nhật bán kính (đuờng kính) vòng tròn khi có sự thay đổi bán kính (đuờng kính) của bất kỳ đối tuợng vòng tròn đã chọn.
đối tượng đích cập nhật ngay sau khi đối tượng nguồn thay đổi không cần lệnh Regen, ...
Cách sử dụng :
1. sau khi load Lisp, tại dấu nhắc gõ lệnh LinkR -> chọn các vòng tròn cần Link với nhau -> enter kết thúc lệnh.
2. thay đổi bán kính (đuờng kính) của bất kỳ đối tuợng vòng tròn đã chọn ở buớc 1 -> xem kết quả các vòng tròn còn lại trong tập hợp đã chọn ở buớc 1.

(defun c:LinkR (/ ss objlst obj_reactor); Link Radius
(if (setq ss (ssget '((0 . "CIRCLE"))) )
(progn
(vl-load-com)
(setq objlst (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))
(setq obj_reactor (vlr-object-reactor objlst nil '((:vlr-modified . callback))))
)
)
)
(defun callback (notifier-object obj_reactor parameter-list / objlist newrad)
(setq objlist (vlr-owners obj_reactor))
(setq newrad (vla-get-radius notifier-object))
(if
(= notifier-object (nth 0 objlist))
(vla-put-radius (nth 1 objlist) newrad)
(vla-put-radius (nth 0 objlist) newrad)
)
)

  • 3

#9 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 09 September 2009 - 10:27 AM

Bạn tham khảo 1 ví dụ về REACTOR :

Cám ơn bạn, mình biết là bạn rất nhanh về Visual Lisp. Bạn đã giải tỏa kg chỉ cho mình mà cho nhiều bạn trên diễn đàn, hiện nay mình chưa thạo VL nên cũng chưa trao đổi đc với bạn. Có lẽ từ đây sẽ có nhiều bạn quan tâm đến vấn đề này và phát triển nó cho công việc của mình và sẽ cần bạn hỗ trợ đấy .
  • 0

#10 thiep

thiep

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 369 Bài viết
Điểm đánh giá: 260 (khá)

Đã gửi 09 September 2009 - 01:30 PM

Bạn tham khảo 1 ví dụ về REACTOR :
- Cập nhật bán kính (đuờng kính) vòng tròn khi có sự thay đổi bán kính (đuờng kính) của bất kỳ đối tuợng vòng tròn đã chọn.
đối tượng đích cập nhật ngay sau khi đối tượng nguồn thay đổi không cần lệnh Regen, ...
Cách sử dụng :
1. sau khi load Lisp, tại dấu nhắc gõ lệnh LinkR -> chọn các vòng tròn cần Link với nhau -> enter kết thúc lệnh.
2. thay đổi bán kính (đuờng kính) của bất kỳ đối tuợng vòng tròn đã chọn ở buớc 1 -> xem kết quả các vòng tròn còn lại trong tập hợp đã chọn ở buớc 1.

(defun c:LinkR (/ ss objlst obj_reactor); Link Radius
(if (setq ss (ssget '((0 . "CIRCLE"))) )
(progn
(vl-load-com)
(setq objlst (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))
(setq obj_reactor (vlr-object-reactor objlst nil '((:vlr-modified . callback))))
)
)
)
(defun callback (notifier-object obj_reactor parameter-list / objlist newrad)
(setq objlist (vlr-owners obj_reactor))
(setq newrad (vla-get-radius notifier-object))
(if
(= notifier-object (nth 0 objlist))
(vla-put-radius (nth 1 objlist) newrad)
(vla-put-radius (nth 0 objlist) newrad)
)
)

Gia_bach, cảm ơn bạn. Đúng là gãi đúng chỗ ngứa. Thiep đang định hỏi mấy cái Reator và callback có công dụng gì mà có tới hàng chục cái lận chứ ít gì.
  • 0

#11 cuongtk2

cuongtk2

    biết vẽ ellipse

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

Đã gửi 10 September 2009 - 12:00 PM

Gia_bach, cảm ơn bạn. Đúng là gãi đúng chỗ ngứa. Thiep đang định hỏi mấy cái Reator và callback có công dụng gì mà có tới hàng chục cái lận chứ ít gì.

Cái này hay đấy, đáng tiếc là chỉ sử dụng được có 1 lần. Nếu copy 1 vòng tròn nữa sang bên cạnh, hoặc cả bộ đi nơi khác thì mất REACTOR. Chắc phải có cách gi` để khi liên kết rồi thì phải dùng được để insert sang nơi khác được chứ.

Bản chất của REACTOR là khi thay đổi 1 tính chất đã được gắn reactor của đối tượng đã được chỉ định (VD: thay bán kính của đường tròn; edit text...) thì tính chất của các đối tượng đi kèm đã được chỉ định sẽ tự động điều chỉnh theo hàm callback. Việc gắn reactor thông qua lisp, nhưng sử dụng thì không cần phải dùng lại lisp đó nữa, kết quả thay đổi tức thì và hiển nhiên như kiểu chuyển ô trong Excel


Thử nghiệm:
Tạo 1 block có 3 vòng tròn , dùng lệnh LINKR để liên kết reactor trong lúc edit block, kết quả là có sử dụng được reactor. Các vòng tròn tự điều chỉnh bán kính khi 1 vòng tròn bị thay đổi bán kính.
Đến lúc close block, vào lại block để edit thì tan tành reactor.

Kết luận:
Reactor chỉ liên kết những entity đã xác định thông qua ename.
Mất reactor của nhóm đối tượng được sao chép.
Có thể dùng được cho việc làm phép tính trong CAD , cập nhật ngày tháng.
  • 0

#12 svba1608

svba1608

    Tưởng Thị Tú Khuyên

  • Moderator
  • PipPipPipPipPipPipPip
  • 601 Bài viết
Điểm đánh giá: 620 (tốt)

Đã gửi 23 September 2009 - 04:51 PM

Chào anh gia_bach và mọi người!
Ai đã sử dụng lisp này cho em hỏi: Tại sao các text của em đều bị một lớp màu trắng sữa phủ lên mà regen bản vẽ hay tắt đi mở lại đều không làm mất đi được.
Cảm ơn!
Hình đã gửi
  • 0
http://khuyen.space

#13 HoangSon614

HoangSon614

    biết lệnh properties

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

Đã gửi 23 September 2009 - 06:48 PM

Chào anh gia_bach và mọi người!
Ai đã sử dụng lisp này cho em hỏi: Tại sao các text của em đều bị một lớp màu trắng sữa phủ lên mà regen bản vẽ hay tắt đi mở lại đều không làm mất đi được.
Cảm ơn!
Hình đã gửi

Bạn khởi động Cad, vào Options -> User Preferences -> fields. Bỏ chọn vào ô Display background of fields -> OK.
  • 1
-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Hôm qua là sự học hỏi nhận được sau 1 ngày
Ngày mai là sự bí ẩn mà chúng ta sẽ khám phá


------------------------------------------
http://www.tailieukythuat.com

#14 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 24 September 2009 - 07:47 AM

Chào anh gia_bach và mọi người!
Ai đã sử dụng lisp này cho em hỏi: Tại sao các text của em đều bị một lớp màu trắng sữa phủ lên mà regen bản vẽ hay tắt đi mở lại đều không làm mất đi được.
...........

Chào svba1608 , HoangSon614
Đúng là Bạn có thể gõ lệnh FIELDDISPLAY hoặc vào OPTION để tắt lớp màu trắng sữa phủ lên đối tượng, nhưng theo tui chúng ta nên để theo mặc định là bật nét tô màu (trắng) của đối tượng đích để phân biệt giữa đối tượng nguồn và đối tượng đích.
Lớp màu nển (background color) chỉ hiển thị trong CAD, không ảnh huởng gì khi in (PLOT) bản vẽ.
  • 1

#15 nataca

nataca

    biết lệnh adcenter

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

Đã gửi 24 September 2009 - 09:40 AM

Chào svba1608 , HoangSon614
Đúng là Bạn có thể gõ lệnh FIELDDISPLAY hoặc vào OPTION để tắt lớp màu trắng sữa phủ lên đối tượng, nhưng theo tui chúng ta nên để theo mặc định là bật nét tô màu (trắng) của đối tượng đích để phân biệt giữa đối tượng nguồn và đối tượng đích.
Lớp màu nển (background color) chỉ hiển thị trong CAD, không ảnh huởng gì khi in (PLOT) bản vẽ.

tuy nhiên cái màu nền này nó quá sáng làm cho việc quan sát kết quả không rõ ràng. Nếu có thể đổi màu nền mặc định được thì tốt. Còn không thì đôi khi vẫn phải tắt hoặc bật nền để tiện quan sát
  • 1

#16 svba1608

svba1608

    Tưởng Thị Tú Khuyên

  • Moderator
  • PipPipPipPipPipPipPip
  • 601 Bài viết
Điểm đánh giá: 620 (tốt)

Đã gửi 04 October 2009 - 09:49 AM

Anh gia_bach và mọi người có thể phát triển lisp này thêm được không?
Cụ thể là: Ánh xạ giá trị đối tượng text - Nguồn thay đổi - Đích thay đổi theo.
Ví dụ:
+ Text nguồn: 3.1
+ Text đích: 3.2,3.4,3.5,3.6 ....
Khi thay đổi text nguồn thành 3.2, các text đích sẽ thay đổi thành: 3.3,3.4,3.5,3.6 ...

Hay là:
+ Text nguồn: 3.1
+ Text đích: bất kỳ...
Khi thay đổi text nguồn thành 3.2, các text đích sẽ lần lượt thay đổi thành 3.3,3.4,3.5,3.6... theo thứ tự lựa chọn của chuột khi chọn text đích.

Cảm ơn!
  • 0
http://khuyen.space

#17 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 05 October 2009 - 08:19 AM

Anh gia_bach và mọi người có thể phát triển lisp này thêm được không?
Cụ thể là: Ánh xạ giá trị đối tượng text - Nguồn thay đổi - Đích thay đổi theo.
Ví dụ:
+ Text nguồn: 3.1
+ Text đích: 3.2,3.4,3.5,3.6 ....
Khi thay đổi text nguồn thành 3.2, các text đích sẽ thay đổi thành: 3.3,3.4,3.5,3.6 ...

Tue_NV phát biểu lại bài toán trên, svba xem có đúng không nhé :
Cho 1 tập hợp text T= { X1, X2, X3, ....., Xn }

Thay đổi 1 phần tử Text ví dụ phần tử X2 -> thành X2'
Gọi số D = X2' - X2
( D < 0 khi X2' < X2 )
( D > 0 khi X2' > X2 )
Vậy thì tập hợp Text T trở thành :
T= { X1+D, X2+D, X3+D, ....., Xn+D }

Svba xem có đúng ý của em không?
  • 1

#18 svba1608

svba1608

    Tưởng Thị Tú Khuyên

  • Moderator
  • PipPipPipPipPipPipPip
  • 601 Bài viết
Điểm đánh giá: 620 (tốt)

Đã gửi 05 October 2009 - 09:12 AM

Tue_NV phát biểu lại bài toán trên, svba xem có đúng không nhé :
Cho 1 tập hợp text T= { X1, X2, X3, ....., Xn }

Thay đổi 1 phần tử Text ví dụ phần tử X2 -> thành X2'
Gọi số D = X2' - X2
( D < 0 khi X2' < X2 )
( D > 0 khi X2' > X2 )
Vậy thì tập hợp Text T trở thành :
T= { X1+D, X2+D, X3+D, ....., Xn+D }

Svba xem có đúng ý của em không?

Vâng, cảm ơn anh Tue_NV. Bài toán tổng quát này chính là ý của em.
  • 0
http://khuyen.space

#19 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 05 October 2009 - 10:08 AM

Tue_NV phát biểu lại bài toán trên, svba xem có đúng không nhé :
Cho 1 tập hợp text T= { X1, X2, X3, ....., Xn }

Thay đổi 1 phần tử Text ví dụ phần tử X2 -> thành X2'
Gọi số D = X2' - X2
( D < 0 khi X2' < X2 )
( D > 0 khi X2' > X2 )
Vậy thì tập hợp Text T trở thành :
T= { X1+D, X2+D, X3+D, ....., Xn+D }

Svba xem có đúng ý của em không?

Nếu đúng như vậy thì em hãy sử dụng Lisp này
Khi sử dụng Lisp này thì yêu cầu tập hợp text của T= { X1, X2, X3, ....., Xn } phải nằm trong 1 Group
tức là các đối tượng X1, X2, X3, ....., Xn thuộc 1 group -> X1, X2, X3, ....., Xn là các Text được thành lập bởi lệnh Group
và CAD phải ở chế độ hiển thị Group ON
Sử dụng Code sau. Hy vọng bạn hài lòng
(defun c:Lchu(/ e p socu somoi D ss i ent)
(setq e (entsel "\n Chon Text nguon trong Group can chinh sua :"))
(setq p (cadr e) dt (car e))
(setq socu (atof (cdr(assoc 1 (entget dt)))))
(setq somoi (getreal (strcat "\n Nhap so moi <" (rtos socu) "> :")))
(setq D (- somoi socu))
(setq ss (ssget p) i 0)

(if (not tpo) (setq tpo 0))
(setq tp (getint (strcat "\n So chu so thap phan <" (itoa tpo) "> :")))
(if (not tp) (setq tp tpo) (setq tpo tp))

(while (< i (sslength ss))
(setq ent (entget (ssname ss i)))
(if (distof (cdr(assoc 1 ent)))
(progn
(setq so (+ (atof (cdr(assoc 1 ent))) D))
(setq ent (entmod (subst (cons 1 (rtos so 2 tp)) (assoc 1 ent) ent)))
)
)
(setq i (1+ i))
)
(princ)
)

  • 3

#20 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 05 October 2009 - 11:20 AM

Nếu đúng như vậy thì em hãy sử dụng Lisp này
Khi sử dụng Lisp này thì yêu cầu tập hợp text của T= { X1, X2, X3, ....., Xn } phải nằm trong 1 Group
tức là các đối tượng X1, X2, X3, ....., Xn thuộc 1 group -> X1, X2, X3, ....., Xn là các Text được thành lập bởi lệnh Group
và CAD phải ở chế độ hiển thị Group ON
..................

Chào Tue_NV
Lâu rồi trên lập trình AutoLisp của CadViet mới có ý tuởng mới : sử dụng Group để lọc và chọn đối tuợng.
Đi theo đuờng mòn hoài khó tới đích quá!
Cám ơn bạn nhiều.
  • 1