Đến nội dung


Hình ảnh

Thay đổi kích thước hang loạt của các đường line


  • Please log in to reply
4 replies to this topic

#1 thangsra

thangsra

    biết vẽ rectang

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

Đã gửi 17 April 2008 - 10:12 PM

Tôi có 1 bản vẽ có số lượng đường line giống nhau( trong bình đồ tuyến, đường chỉ tên cọc). Tôi muốn làm cho chiều dài các đoạn thẳng này thay đổi kích thước. Có ai có cách nào không chỉ dùm với. ThankS, mong sớm nhận được trà lời
  • 0
It`s me !!

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 17 April 2008 - 10:36 PM

Tôi có 1 bản vẽ có số lượng đường line giống nhau( trong bình đồ tuyến, đường chỉ tên cọc). Tôi muốn làm cho chiều dài các đoạn thẳng này thay đổi kích thước. Có ai có cách nào không chỉ dùm với. ThankS, mong sớm nhận được trà lời

Thay đổi như thế nào bạn?

Có 2 cách thay đổi chiều dài:
- cách thứ nhất là tương đối là tăng % theo chiều dài cũ.
- Cách thứ 2 là tăng thành 1 chiều dài cố định.

Có 3 kiểu điểm gốc:
- điểm gốc là điểm xuất phát của line.
- điểm gốc là điểm kết thúc của line.
- điểm gốc là điểm giữa của line.

Bạn muốn cái nào?
  • 0

#3 thangsra

thangsra

    biết vẽ rectang

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

Đã gửi 17 April 2008 - 10:50 PM

Thay đổi như thế nào bạn?

Có 2 cách thay đổi chiều dài:
- cách thứ nhất là tương đối là tăng % theo chiều dài cũ.
- Cách thứ 2 là tăng thành 1 chiều dài cố định.

Có 3 kiểu điểm gốc:
- điểm gốc là điểm xuất phát của line.
- điểm gốc là điểm kết thúc của line.
- điểm gốc là điểm giữa của line.

Bạn muốn cái nào?

Các đương line này tạo ra trong chương trình nova. Làm cho các đường thẳng thay đổi ( giảm). Điểm gốc là ở giữa đoạn thẳng đi
  • 0
It`s me !!

#4 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 17 April 2008 - 11:01 PM

Các đương line này tạo ra trong chương trình nova. Làm cho các đường thẳng thay đổi ( giảm). Điểm gốc là ở giữa đoạn thẳng đi


Lệnh SCL - Scale Line dưới đây sẽ làm điều bạn muốn. Nó sẽ scale các line với điểm chèn là trung điểm và theo tỷ lệ bạn nhập vào.


(defun c:scl ( / ss tyle)
(defun sl(ent / tt p1 p2 p1m p2m)
(setq
tt (entget ent)
p1 (cdr (assoc 10 tt))
p2 (cdr (assoc 11 tt))
p1m (polar p1 (angle p1 p2) (* (distance p1 p2) tyle))
p2m (polar p2 (angle p2 p1) (* (distance p1 p2) tyle))
tt (subst (cons 10 p1m) (cons 10 p1) tt)
tt (subst (cons 11 p2m) (cons 11 p2) tt)
)
(entmod tt)
)
(setq
ss (ssget '((0 . "LINE")))
tyle (* (+ (getreal "\nTy le scale line: ") 1.0) 0.5)
)
(sudung sl ss)
(princ)
)

(defun sudung (ham ss / sodt index entdt soapp)
(setq sodt (cond
(ss (sslength ss))
(t 0)
)
soapp 0
index 0
)
(repeat sodt
(setq entdt (ssname ss index)
index (1+ index)
)
(if (ham entdt)
(setq soapp (1+ soapp))
)
)
soapp
)
(princ "\nSCL - Scale Line, free lisp from CADViet.com")
(princ)

  • 0

#5 thangsra

thangsra

    biết vẽ rectang

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

Đã gửi 17 April 2008 - 11:16 PM

Lệnh SCL - Scale Line dưới đây sẽ làm điều bạn muốn. Nó sẽ scale các line với điểm chèn là trung điểm và theo tỷ lệ bạn nhập vào.


(defun c:scl ( / ss tyle)
(defun sl(ent / tt p1 p2 p1m p2m)
(setq
tt (entget ent)
p1 (cdr (assoc 10 tt))
p2 (cdr (assoc 11 tt))
p1m (polar p1 (angle p1 p2) (* (distance p1 p2) tyle))
p2m (polar p2 (angle p2 p1) (* (distance p1 p2) tyle))
tt (subst (cons 10 p1m) (cons 10 p1) tt)
tt (subst (cons 11 p2m) (cons 11 p2) tt)
)
(entmod tt)
)
(setq
ss (ssget '((0 . "LINE")))
tyle (* (+ (getreal "\nTy le scale line: ") 1.0) 0.5)
)
(sudung sl ss)
(princ)
)

(defun sudung (ham ss / sodt index entdt soapp)
(setq sodt (cond
(ss (sslength ss))
(t 0)
)
soapp 0
index 0
)
(repeat sodt
(setq entdt (ssname ss index)
index (1+ index)
)
(if (ham entdt)
(setq soapp (1+ soapp))
)
)
soapp
)
(princ "\nSCL - Scale Line, free lisp from CADViet.com")
(princ)

Thanksss. Nhân đây cho hỏi bác luôn là cơ sở để tạo các lisp này là thế nào vậy. Em mới biết lấy của mấy bác về thôi chứ chưa biết bắt đầu như thế nào. Mấy bài về lisp của bác em cung xem rối nhưng không biết cụ thể lắm. Mong chỉ giáo! Em đi ngủ đây. Cảm ơn bác vì luôn nhiệt tình với anh em trong diễn đàn
  • 0
It`s me !!