Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
ketxu

Lấy số thứ tự của đối tượng trong tập chọn

Các bài được khuyến nghị

Các bác cho e hỏi có cách nào để lấy được số thứ tự của đối tượng trong 1 tập chọn không ạ ?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Các bác cho e hỏi có cách nào để lấy được số thứ tự của đối tượng trong 1 tập chọn không ạ ?

Hề hề hề,

Ý bác là sao hè??? Số thứ tự này là số thứ tự đánh giá theo tiêu chí nào ạ????

Nếu là số thứ tự theo trình tự đốii tượng được thiết lập trong AutoCAD thì bác dựa vào mã DXF 5 được sắp xếp theo hệ thập lục phân (cơ số 16)> Diễn đàn cũng đã có lisp đổi một chuỗi số từ hệ thập lục phân ra hệ thập phân bác à. Cứ thằng to đứng sau thằng nhỏ đứng trước.

Nếu là số thừ tự theo trật tự lựa chọn thì hơi chua nếu bác sử dụng các phương pháp chọn tổng hợp.

Nếu là trật tự đối tượng theo vị trí đối tượng thì bác phải cho quy luật sắp xếp.

.............................................................

Hề hề hề, quả là có hơi rối rắm bác hỉ???

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hề hề hề,

Ý bác là sao hè??? Số thứ tự này là số thứ tự đánh giá theo tiêu chí nào ạ????

Nếu là số thứ tự theo trình tự đốii tượng được thiết lập trong AutoCAD thì bác dựa vào mã DXF 5 được sắp xếp theo hệ thập lục phân (cơ số 16)> Diễn đàn cũng đã có lisp đổi một chuỗi số từ hệ thập lục phân ra hệ thập phân bác à. Cứ thằng to đứng sau thằng nhỏ đứng trước.

Nếu là số thừ tự theo trật tự lựa chọn thì hơi chua nếu bác sử dụng các phương pháp chọn tổng hợp.

Nếu là trật tự đối tượng theo vị trí đối tượng thì bác phải cho quy luật sắp xếp.

.............................................................

Hề hề hề, quả là có hơi rối rắm bác hỉ???

Bác bình!

Theo em nghĩ thì bạn ý muốn lấy phần tử trong tập chọn thôi giống như (ssname ss i) nhưng mà trong VBA. Bạn ketxu này bỏ anh bạn lisp rồi bác ạ.

@ketxu!

Còn nếu dùng visualisp thì bạn có thể dùng như sau:

(setq ss (acet-ss-to-list ss)

name (car (entsel))

stt (vl-position name ss)

)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác bình!

Theo em nghĩ thì bạn ý muốn lấy phần tử trong tập chọn thôi giống như (ssname ss i) nhưng mà trong VBA. Bạn ketxu này bỏ anh bạn lisp rồi bác ạ.

@ketxu!

Còn nếu dùng visualisp thì bạn có thể dùng như sau:

(setq ss (acet-ss-to-list ss)

name (car (entsel))

stt (vl-position name ss)

)

Hề hề hề,

Sorry , sorry, so so ry.

Mắt mũi kèm nhèm, lộn vô chuồng VBA mà chả biết, tí nữa thì uýnh nhau to các bác hỉ???

Thôi thì các bác thông cảm cho xin hai chữ đại xá hỉ????

Thôi mình phắn đây. Hề hề hề.....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hì hì ^^ Tks 2 bác.E vẫn âm thầm mót lisp đấy chứ,n mà phải chiến với VBA nhiều hơn vì các phần mềm CTy e đều dùng VB kết hợp VBA,chẳng lẽ mình dùng mà lại k biết thì buồn quá ^^

Ý đồ của e đúng là như trên đấy ạ.Chẳng là e có 1 tập chọn các L,PL.E định thực hiện vòng lặp để lấy chiều dài đối tượng rồi kẻ bảng bên dưới.Số vòng lặp cần để kẻ bảng thì e cũng có rồi.Vấn đề bây giờ là làm sao e biết ng ta chọn cái j trước,cái j sau để mà còn ghi vào bảng :cheers:.K biết việc này có thực hiện được với chế độ Selecttion On Screen k nữa :leluoi:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Có những việc với LSP thật đơn giản,vòn với VBA thì là cả vấn đề,và ngược lại :cheers:(

Sao k có bác nào viết code VBA để mỗi lần cad khởi động thì tạo 1 file đuôi lsp với nội dung LISP ở thư mục dwg,rồi âm thầm load nó nhỉ.Khi nào close phiên làm việc thì lại lặng lẽ xóa nó đi.Thế có phải là kết hợp đc cả 2không :leluoi:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hì hì ^^ Tks 2 bác.E vẫn âm thầm mót lisp đấy chứ,n mà phải chiến với VBA nhiều hơn vì các phần mềm CTy e đều dùng VB kết hợp VBA,chẳng lẽ mình dùng mà lại k biết thì buồn quá ^^

Ý đồ của e đúng là như trên đấy ạ.Chẳng là e có 1 tập chọn các L,PL.E định thực hiện vòng lặp để lấy chiều dài đối tượng rồi kẻ bảng bên dưới.Số vòng lặp cần để kẻ bảng thì e cũng có rồi.Vấn đề bây giờ là làm sao e biết ng ta chọn cái j trước,cái j sau để mà còn ghi vào bảng :).K biết việc này có thực hiện được với chế độ Selecttion On Screen k nữa :)

Nếu mình hiểu không nhầm thì bạn có thể kiểm tra tên của đối tượng trong tập chọn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình thiết kế 1 popup_list, danh sách thả xuống được định nghĩa: (setq Type (list "Line Curve" "Polyline Curve" "Spline Curve")). Mình muốn khi chọn các "Line Curve", "Polyline Curve" hay "Spline Curve" thì thực hiện các công việc tương ứng với nó. Có ai giúp mình không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Thanks bạn Doan Van Ha! Mình cần phải hiểu rõ về cách truy xuất Popup_list

 

Mình làm thế này không biết được chưa?

 

(setq Type (list "Lines Curve" "Polyline Curve" "Spline Curve" "Arcs Curve"))
(start_list "curve_type" 3)
(mapcar 'add_list Type)
(end_list)

 (setq sStr (get_tile "curve_type"))
 (if (= sStr "")
  (setq list_Item nil)
  (setq list_Item (nth (atoi sStr) Type))
 )

(if (= list_Item (nth 0 Type))
   (command "line")
   (if (= list_Item (nth 1 Type))
    (command "Pline")
    (if (= list_Item (nth 2 Type))
     (command "Spline")
    )
  )
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

 

Thanks bạn Doan Van Ha! Mình cần phải hiểu rõ về cách truy xuất Popup_list

 

Mình làm thế này không biết được chưa?

 

(setq Type (list "Lines Curve" "Polyline Curve" "Spline Curve" "Arcs Curve"))
(start_list "curve_type" 3)
(mapcar 'add_list Type)
(end_list)

 (setq sStr (get_tile "curve_type"))
 (if (= sStr "")
  (setq list_Item nil)
  (setq list_Item (nth (atoi sStr) Type))
 )

(if (= list_Item (nth 0 Type))
   (command "line")
   (if (= list_Item (nth 1 Type))
    (command "Pline")
    (if (= list_Item (nth 2 Type))
     (command "Spline")
    )
  )
)

 

Bạn post bài trong chuyên mục khác nhé. Đây là mục VBA

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×