Đến nội dung


Hình ảnh
- - - - -

Nhờ Viết Lisp


  • Please log in to reply
9 replies to this topic

#1 quangtb

quangtb

    biết zoom

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

Đã gửi 03 June 2016 - 02:08 AM

em muốn có 1 lệnh giống lệnh copym nhưng có thể nhập số khoảng cách được nghĩa là khoảng cách copy được tính từ đối tượng vừa được copy trươc đó.em cám ơn!


  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2016 - 06:50 AM

em muốn có 1 lệnh giống lệnh copym nhưng có thể nhập số khoảng cách được nghĩa là khoảng cách copy được tính từ đối tượng vừa được copy trươc đó.em cám ơn!

 

Không hiểu bạn à!

Khoảng cách copy là khoảng cách tính từ điểm nào đến điểm nào? Chứ sao lại là khoảng cách tính từ đối tượng vừa được copy trươc đó????


  • 0

#3 quangtb

quangtb

    biết zoom

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

Đã gửi 03 June 2016 - 08:41 AM

 copy 1 khoảng 1000 và 1 khoảng 2000 thì a phải nhập 1 lần là 1000 và 1 lần là 3000, bây giờ e muốn nhập 1000 sau đó nhập tiếp 2000. nó giống với lệnh copym đó anh nhưng là nhập được số lệnh copym không cho nhập số


  • 0

#4 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 03 June 2016 - 12:41 PM

Bạn thử dùng lệnh AC (array copy) ở đây:

http://www.cadviet.c...yeu-cau/page-14


  • 0

#5 quangtb

quangtb

    biết zoom

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

Đã gửi 03 June 2016 - 03:01 PM

Em copy 1  đối tượng theo phương X(chẳng hạn) cách đối tượng thứ nhất 1 khoảng A, ta được đối tượng số 2 sau đó copy tiếp cách đối tượng số 2 khoảng B thì ta phải nhập giá trị là A+B.thì ta được đối tượng thứ 3. Bây giờ em muốn lần copy thứ 2 chỉ cần nhập khoảng cách là B là đươc đối tượng thứ 3

ý của e là thế ạ !_ _


  • 0

#6 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 03 June 2016 - 04:16 PM

Có phải như này ko. Bạn copy mấy dòng này chứ đừng bấm nút download.

(defun c:cpy(/ EL HG KCACH OS PT SS TT)
(defun ssnext (el / l en) (if (setq en (entnext el)) (cons en (ssnext en)) ))
(defun ssfrom (sl / ss0) (setq ss0 (ssadd)) (mapcar '(lambda(x) (ssadd x ss0)) sl) ss0)
 
(prompt "\nChon cac doi tuong de copy:")
(setq ss (ssget)
pt (getpoint "\nDiem goc:")
hg (getangle pt "\nTheo huong:")
tt t
os (getvar 'osmode))
(setvar 'osmode 0)
 
(while tt    
(setq kcach (getstring (strcat "\nKhoang cach = " (if gl_kc (rtos gl_kc) (rtos (setq gl_kc 1)))  " <hoac nhan Z+Enter de ket thuc> :" )))
(cond ((and (/= kcach "") (/= (strcase kcach) "Z")) (setq kcach (atof kcach) gl_kc kcach))
((and (= kcach "") (/= gl_kc 0)) (setq kcach gl_kc))
((= (strcase kcach) "Z") (setq tt nil)))    
(if tt
(progn
(setq el (entlast))
(command "copy" ss "" pt (polar pt hg kcach))
(setq ss (ssfrom (ssnext el)))
))
)  
(setvar 'osmode os) (princ)
)


  • 1

#7 quangtb

quangtb

    biết zoom

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

Đã gửi 03 June 2016 - 04:43 PM

đúng rồi e cám ơn bác :)


  • 0

#8 HDT

HDT

    biết zoom

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

Đã gửi 06 June 2016 - 05:25 PM

Chào các bác!

 

Em đang viết một cái list, nhưng em muốn lấy các thông số của một đối tượng để gán vào biến thì phải làm thế nào ạ.

 

Ví dụ:

            + Chiều dài đoạn thẳng, tọa độ End X, End Y,…

            + Chiều cao của text, màu của text,…

            + Hoặc với đối tượng phức hợp gồm nhiều đối tượng khác như viewport bên layout (gồm Pline và Veiwport): Em muốn lấy tỷ lệ scare của viewport thì phải làm thế nào ạ.

 

Hóng thánh :3

Cảm ơn các bác đã đọc bài viết của em.

Dạ… Em xin hết ạ. :3

 

  • -2
.........................................................................................................................................................................
Hoàng Đình Thắng
Cơ quan: Phòng Thiết kế 1 - Công ty Cổ phần Tư vấn Xây dựng công trình Giao thông 5.
Địa chỉ: 229 Trường Chinh, Quận Thanh Khê, TP Đà Nẵng.
DĐ: 01654525566
Fax: 0511. 3842415

#9 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 07 June 2016 - 02:51 PM

Chào các bác!

 

Em đang viết một cái list, nhưng em muốn lấy các thông số của một đối tượng để gán vào biến thì phải làm thế nào ạ.

 

Ví dụ:

            + Chiều dài đoạn thẳng, tọa độ End X, End Y,…

            + Chiều cao của text, màu của text,…

            + Hoặc với đối tượng phức hợp gồm nhiều đối tượng khác như viewport bên layout (gồm Pline và Veiwport): Em muốn lấy tỷ lệ scare của viewport thì phải làm thế nào ạ.

 

Hóng thánh :3

Cảm ơn các bác đã đọc bài viết của em.

Dạ… Em xin hết ạ. :3

Hề hề hề,

Tham khảo mã DXF của các đối tượng trong help của CAD.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#10 hieuroi

hieuroi

    biết vẽ arc

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

Đã gửi 29 June 2016 - 04:24 PM

 

Xin chào mọi người
Nhờ các ace  viết dùm mình lisp với nội dung như ở dưới, có file kèm theo
 
Mình có nhiều biên dạng như trong file cad đính kèm, cần tạo ra nhiều file cad dạng .dxf, mỗi file cad mới chứa 1 biên dạng, tên file cad mới giống với nội dung text nằm trong biên dạng. Bạn nào viết dùm mình lisp này nhé.
 
Thực hiện lệnh:
 
1. gọi lệnh:
2. chọn đường dẫn để lưu các file cad mới được tạo ra.
3. Quét chọn vùng chứa các biên dạng (có kèm text) (nếu không chọn được một lần nhiều biên dạng thì chọn từng biên dạng cũng được)
 
 https://www.dropbox.com/s/8bsduoy2e6ds93m/CP.dwg?dl=0
 
xin cám ơn.


  • 0