Đến nội dung


Hình ảnh

Cần lisp để đưa các dim về nằm ngang bằng nhau (lệnh tắt BD)


  • Please log in to reply
5 replies to this topic

#1 chaudinhphuc

chaudinhphuc

    Edu level: no10, to10

  • Advance Member
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 01 June 2015 - 04:46 PM

Mình cần lisp để đưa các dim về nằm ngang bằng nhau (lệnh tắt BD), tìm trên mạng nhưng chưa thấy lisp này. Anh em nhiệt tình giúp đỡ nhé.

 


  • -1

Học nữa, học mãi.       Không thầy đố mày làm nên


#2 trumlenmang

trumlenmang

    biết lệnh trim

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

Đã gửi 01 June 2015 - 05:00 PM

Mình cần lisp để đưa các dim về nằm ngang bằng nhau (lệnh tắt BD), tìm trên mạng nhưng chưa thấy lisp này. Anh em nhiệt tình giúp đỡ nhé.

Có phải ý bạn giống lệnh DIMSPACE ko? DIMSPACE ->chọn dim đầu tiên sẽ làm chuẩn, chọn tất cả dim còn lại sẽ dóng thẳng hàng theo->enter->nhập giá trị 0. Nếu bạn nhập 100 thì các dim còn lại sẽ cách dim đầu tiên là 100. Hi vọng đúng ý bạn.


  • 1

#3 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 June 2015 - 06:24 PM

Spam : @@ 


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 315 (khá)

Đã gửi 01 June 2015 - 08:41 PM

Có phải cái này không?

(defun C:BD (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI PT10 PT10I PT10N O10 N10 PT11 PT11N O11 N11 KC OSM OLDERR *error* myerror)
(setq CMD (getvar "CMDECHO"))
(setq OSM (getvar "OSMODE"))
(defun myerror (s)
(cond ((= s "quit / exit abort") (princ))
((/= s "Function cancelled") (princ (strcat "\nError: " s))))
(setvar "cmdecho" CMD)
(setvar "osmode" OSM)
(setq *error* OLDERR)
(princ))
(setq OLDERR *error*
*error* myerror)
(princ "Please select dimension object!")
(setq SS (ssget))
(setvar "CMDECHO" 0)
(if (/= SS nil)
(progn (if (not (setq PT (getpoint "\nPoint to trim or extend: ")))
(exit))
(setq PT (trans PT 1 0))
(command "UCS" "W")
(setq LTH (sslength SS))
(setq DEM 0)
(while (< DEM LTH)
(progn (setq DS (entget (ssname SS DEM)))
(setq KDL (cdr (assoc 0 DS)))
(if (= "DIMENSION" KDL)
(progn (setq PT13 (cdr (assoc 13 DS)))
(setq PT14 (cdr (assoc 14 DS)))
(setq PT10 (cdr (assoc 10 DS)))
(setq PT11 (cdr (assoc 11 DS)))
(setq N70 (cdr (assoc 70 DS)))
(if (or (= N70 0) (= N70 32) (= N70 33) (= N70 160) (= N70 161))
(progn (setq GOCY (angle PT10 PT14)) (setq GOCX (+ GOCY (/ pi 2)))))
(setvar "OSMODE" 0)
(setq PTI (polar PT GOCX 2))
(setq PT10I (polar PT10 GOCY 2))
(setq PT10N (inters PT PTI PT10 PT10I NIL))
(setq KC (distance PT10 PT10N))
(setq O10 (assoc 10 DS))
(setq N10 (cons 10 PT10N))
(setq DS (subst N10 O10 DS))
(setq PT11N (polar PT11 (angle PT10 PT10N) KC))
(setq O11 (assoc 11 DS))
(setq N11 (cons 11 PT11N))
(setq DS (subst N11 O11 DS))
(entmod DS)))
(setq DEM (+ DEM 1))))
(command "UCS" "P")
(setvar "CMDECHO" CMD)
(setvar "OSMODE" OSM)
(setq *error* OLDERR))
(exit))
(princ))


  • 0

#5 chaudinhphuc

chaudinhphuc

    Edu level: no10, to10

  • Advance Member
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 02 June 2015 - 03:43 PM

Có phải ý bạn giống lệnh DIMSPACE ko? DIMSPACE ->chọn dim đầu tiên sẽ làm chuẩn, chọn tất cả dim còn lại sẽ dóng thẳng hàng theo->enter->nhập giá trị 0. Nếu bạn nhập 100 thì các dim còn lại sẽ cách dim đầu tiên là 100. Hi vọng đúng ý bạn.

Chính xác rồi, đúng cái em cần, thank anh rất nhiều


  • 0

Học nữa, học mãi.       Không thầy đố mày làm nên


#6 chaudinhphuc

chaudinhphuc

    Edu level: no10, to10

  • Advance Member
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 03 June 2015 - 07:59 AM

Nhưng giả sử muốn các DIM cách hình vẽ 1 khoảng là 100 thì làm như thế nào nhỉ


  • 0

Học nữa, học mãi.       Không thầy đố mày làm nên