Rated 5/5 based on 240179 internet user reviews

Đến nội dung


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

Lisp Cut dim, cut hatch, align it


  • Please log in to reply
13 replies to this topic

#1 hsoso

hsoso

    Chưa sử dụng CAD

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

Đã gửi 19 January 2007 - 09:33 AM

Chào các bạn, bạn nào có cái file gì cắt dim cho bằng nhau share tớ với, tớ quên mất file gì rồi.
  • 0

#2 be_chanh

be_chanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 1712 Bài viết
Điểm đánh giá: 886 (rất tốt)

Đã gửi 19 January 2007 - 10:14 AM

Chào các bạn, bạn nào có cái file gì cắt dim cho bằng nhau share tớ với, tớ quên mất file gì rồi.

Mình có 2 kiểu cắt DIM

Mở Notepad. Copy và PASTE đoạn mã sau. Save với tên tương ứng.

1. Lựa chọn DIM và chọn điểm chân DIM

Tên file: CatDim.LSP

Lệnh: CD



(defun useerror(tt)
(cond
((= tt 0)
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ OSM (GETVAR "OSMODE"))
(SETQ ORM (GETVAR "ORTHOMODE"))
(SETQ SNA (GETVAR "SNAPANG"))

(COMMAND "_UNDO" "be")

(SETQ OLDERR *error*
*error* myerror)
)
((= tt 1)
(SETVAR "CMDECHO" CMD)
(SETVAR "OSMODE" OSM)
(SETVAR "ORTHOMODE" ORM)
(SETVAR "SNAPANG" SNA)

(COMMAND "_UNDO" "e")

(setq *error* OLDERR) ; Restore old *error* handler
(PRINC)
)
)
)

;; SUA SAI
(defun myerror (s) ; If an error (such as CTRL-C) occurs
; while this command is active...
(cond
((= s "quit / exit abort") (princ))
((/= s "Function cancelled") (princ (strcat "\nError: " s)))
)
(setvar "cmdecho" CMD) ; Restore saved modes
(setvar "osmode" OSM)
(SETVAR "ORTHOMODE" ORM)
(SETVAR "SNAPANG" SNA)

(COMMAND "_UNDO" "e")

(setq *error* OLDERR) ; Restore old *error* handler
(princ)
)
;*******************************************************************************

(DEFUN C:CD (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI PT13I PT14I
PT13N PT14N O13 O14 N13 N14 OSM OLDERR PT10 PT11)
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ OSM (GETVAR "OSMODE"))
(SETQ OLDERR *error*
*error* myerror)
(PRINC "Please select dimension object!")
(SETQ SS (SSGET))
(SETVAR "CMDECHO" 0)
(SETQ PT (GETPOINT "Point to trim or extend:"))
(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 PT10 (CDR (ASSOC 10 DS)))
(SETQ PT11 (CDR (ASSOC 11 DS)))
(SETQ PT13 (CDR (ASSOC 13 DS)))
(SETQ PT14 (CDR (ASSOC 14 DS)))
(SETQ N70 (CDR (ASSOC 70 DS)))
(IF (OR (= 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 PT13I (POLAR PT13 GOCY 2))
(SETQ PT14I (POLAR PT14 GOCY 2))
(SETQ PT13N (INTERS PT PTI PT13 PT13I NIL))
(SETQ PT14N (INTERS PT PTI PT14 PT14I NIL))
(SETQ O13 (ASSOC 13 DS))
(SETQ O14 (ASSOC 14 DS))
(SETQ N13 (CONS 13 PT13N))
(SETQ N14 (CONS 14 PT14N))
(SETQ DS (SUBST N13 O13 DS))
(SETQ DS (SUBST N14 O14 DS))
(ENTMOD DS)
)
)
(SETQ DEM (+ DEM 1))
)
)
(COMMAND "UCS" "P")
(SETVAR "CMDECHO" CMD)
(SETVAR "OSMODE" OSM)
(setq *error* OLDERR) ; Restore old *error* handler
(PRINC)
)


2. Lựa chọn DIM, chọn vị trí dây DIM và chọn điểm chân DIM

Tên file: CatDimX.LSP

Lệnh: CDX

Mã:


(defun c:cdx (/ entdt dcat1 dcat2 sodimsua index sodt ssdt tt)
(defun cdim (entdt pchan pduong / tt old10
old13 old14 new10 new13 new14 p10n
p13n p14n p10o p13o p14o gocduong
gocchan pchanb pduongb loaidim
)
(defun chanvuonggoc (ph p1 p2 / ptemp pkq goc)
(setq
goc (+ (angle p1 p2) (/ pi 2.0))
ptemp (polar ph goc 1000.0)
pkq (inters ph ptemp p1 p2 nil)
)
pkq
)
(setq
tt (entget entdt)
old10 (assoc '10 tt)
old13 (assoc '13 tt)
old14 (assoc '14 tt)
p10o (cdr old10)
p13o (cdr old13)
p14o (cdr old14)
loaidim (logand (cdr (assoc '70 tt)) 7)
gocduong (cond
((= loaidim 1) (angle p13o p14o))
((= loaidim 0) (cdr (assoc '50 tt)))
(t nil)
)
pchan (cond
(pchan (list (car pchan) (cadr pchan) 0.0))
(t pchan)
)
pduong (cond
(pduong (list (car pduong) (cadr pduong) 0.0))
(t pduong)
)

)
(if gocduong
(progn
(if pchan
(setq
pchanb (polar pchan gocduong 1000.0)
p13n (chanvuonggoc (list (car p13o) (cadr p13o) 0.0) pchan pchanb)
p14n (chanvuonggoc (list (car p14o) (cadr p14o) 0.0) pchan pchanb)
new13 (cons 13 p13n)
new14 (cons 14 p14n)
tt (subst new13 old13 tt)
tt (subst new14 old14 tt)
)
)
(if pduong
(setq
pduongb (polar pduong gocduong 1000.0)
p10n (chanvuonggoc (list (car p10o) (cadr p10o) 0.0) pduong pduongb)
new10 (cons 10 p10n)
tt (subst new10 old10 tt)
)
)
(entmod tt)
)
)
gocduong
)

(init)
(setq ssdt (ssget '((0 . "DIMENSION")))
dcat1 (getpoint "\nDiem cat chan DIM: ")
dcat2 (getpoint "\nDiem cat duong DIM: ")

dcat1 (cond
(dcat1 (trans dcat1 1 0))
(t nil)
)
dcat2 (cond
(dcat2 (trans dcat2 1 0))
(t nil)
)
sodt (sslength ssdt)
index 0
sodimsua 0
)
(repeat sodt
(setq entdt (ssname ssdt index)
index (1+ index)
tt (entget entdt)

)
(if (cdim entdt dcat1 dcat2)
(setq sodimsua (1+ sodimsua))
)
)
(princ (strcat "\nSo duong dim da sua: " (itoa sodimsua)))
(done)
)

  • 4

t: 097.323.1199 | m: cudstk@gmail.com | w: http://www.aicollect.com


#3 thekingnet

thekingnet

    biết pan

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

Đã gửi 26 January 2007 - 09:30 PM

Bác nào có lisp dùng để trim luôn cả hatch ko ! dùng cho cad 2004 ỵ Thanks các bác !
  • 0

#4 Hieuss

Hieuss

    biết lệnh mtext

  • Vip
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 162 (tàm tạm)

Đã gửi 27 January 2007 - 12:36 AM

bác cài cad2005 mà dùng. Cắt luôn được hatch cần gì lisp. Mà cad2005 với cad2004 nặng như nhau nhưng 2005 có nhiều ưu điểm hơn 2004. Dùng phê hơn nhiều.
  • 0

#5 Zoi

Zoi

    biết vẽ point

  • Vip
  • PipPip
  • 98 Bài viết
Điểm đánh giá: 33 (tàm tạm)

Đã gửi 27 January 2007 - 02:27 PM

sao không dùng hẳn 2007 đi, cắt hatch, trim bằng cửa sổ, ko cần F, vẽ 3D xoay trục cực nhanh. Cái gì cũng ngon.

mà CAD2007, con máy dùng CE500 + 512mb ram ghẻ chạy veo veo... :lol:

Có nặng gì đâu ???
  • 0

#6 thekingnet

thekingnet

    biết pan

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

Đã gửi 27 January 2007 - 07:14 PM

hix ! nhưng tôi quen dùgn cad 2004 rồi, với cả lại ,các thiết lập của tôi, và lisp dang dùng ko sử dụng cho cad 2005 dc ! Các pác cố giúp tôi với !
  • 0

#7 Hieuss

Hieuss

    biết lệnh mtext

  • Vip
  • PipPipPipPip
  • 286 Bài viết
Điểm đánh giá: 162 (tàm tạm)

Đã gửi 30 January 2007 - 12:14 AM

cad 2005 không khác gì cad 2004. dùng y hệt nhau nhưng hơn một số thứ rất tiện ích. Cad 2006, 2007 dùng thì khác hẳn, dùng hơi khó
  • 0

#8 khimatro

khimatro

    biết zoom

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

Đã gửi 08 February 2007 - 07:43 PM

Cái cdx hình như không dùng được mình thử thì hiện ra thông báo lỗi sau:
---------------------------------------------------------------------------------------'
Command: cdx
; error: no function definition: INIT
---------------------------------------------------------------------------------------
  • 0

#9 admin

admin

    Administrator

  • Root Admin
  • PipPipPipPip
  • 279 Bài viết
Điểm đánh giá: 483 (tốt)

Đã gửi 09 February 2007 - 01:41 PM

Để sửa lỗi này, khimatro hãy tìm các dòng có lệnh: (init) và (done) và xóa đi là ok.
  • 1

#10 bemove

bemove

    biết lệnh divide

  • Vip
  • PipPipPipPipPipPip
  • 446 Bài viết
Điểm đánh giá: 1296 (rất tốt)

Đã gửi 06 March 2007 - 12:58 PM

Align các đối tượng thẳng hàng theo left. right. center
Ví dụ như muốn gióng các đối tượng Dtext theo lề trái. dùng lisp này nhé
HD: copy file alignit.DCL vào thư mục support
Appload file alignit.lsp như bình thương

http://www.cadviet.com/upfiles/alignit.zip
  • 0

#11 xuangiangtedi

xuangiangtedi

    biết vẽ line

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

Đã gửi 06 March 2010 - 10:41 AM

Chào các bạn mình có một vấn đề về Dim rất mong nhận được sự giúp đỡ của các bạn. Mình thấy vấn đề này cũng khá phức tạp không chắc có làm được không, nhưng thôi kệ cư đưa lên đây biết đấu có bác nào kiệt xuất lại có thế giải quyêt đựơc thì sao. Vấn đề của mình là mình muốn dim nhanh đường polyline liên tục giồng như tính năng Quick dim trong Cad nhưng hướng của các kích thước phải luôn song song với phương của các đoạn thẳng trong polyline ( tức là mình muốn đo theo phương chéo cuủa các đường thảng chú không phải theo phương ngang). Vậy có cao thủ nào biết được xin hãy giúp đỡ mình nhé. Chân thành cảm ơn vì đã đọc.
Mình gửi kèm theo file để các bạn dễ hình dung(file này mình phải dim thủ công tưn cái một đó.
http://www.cadviet.c..._chia_tam_1.dwg
  • 0

#12 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 08 March 2010 - 11:23 AM

Vậy là sao?! Thì đâu có ai trả lời gì đâu cả bạn cũng có nói là làm được hay không làm được đâu?

sao không ai trả lời mình vậy. không làm được thi cũng trả lời một câu là không làm được để mình đỡ phải chờ chứ?

Bạn có quyền đặt câu hỏi nhờ giúp đỡ.
Và bạn có quyền chờ hay không chờ câu trả lời của mọi nguời. (để khỏi tốn thời gian)

Mọi nguời có quyền đọc và trả lời hay không trả lời mọi vấn đề.

CadViet có hơn 56 ngàn thành viên :
- nếu mỗi thành viên đều trả lời; liệu bạn có đủ thời gian để đọc hết không ?
- khi đó diễn đàn chỉ có các bài đại lọai như : tui không biết, tui biết nhưng tui không có thời gian giúp bạn, thậm chí là tui biết nhưng tui không thích giúp bạn ...


Thực ra vấn đề của bạn đã đuợc đề cập rồi. hãy sử dụng chức năng tìm kiếm truớc khi nhờ giúp đỡ.
  • 6

#13 vlgkhoi2190

vlgkhoi2190

    Chưa sử dụng CAD

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

Đã gửi 09 January 2014 - 02:02 PM

bạn ơi cho mình hỏi mình download lisp CD về rồi, vào cad load rồi nhưng khi gõ CD thì cad báo là ko có lệnh này... làm sao đây mọi người giúp với


  • 0

#14 phamhiep_xda

phamhiep_xda

    Chưa sử dụng CAD

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

Đã gửi 24 October 2014 - 04:56 PM

lisp của bạn này bị lỗi rồi mọi người đừng down dùng nữa.dùng lisp mình bên dưới kìa,lệnh tắt sa chữ defun c trong lisp nhé!


  • 0