Chuyển đến nội dung
Diễn đàn CADViet

tnmtpc

Thành viên
  • Số lượng nội dung

    365
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    7

Bài đăng được đăng bởi tnmtpc


  1. Bác nào có thuật toán tạo đường đồng mức từ tập hợp các cao độ text ko.

    Em muốn tham khảo để viết lại băng lisp ấy mà.

    Em gửi các bác 1 chương trình vẽ đường đồng mức nguồn từ diển đàn ketcau.com mà em sưu tầm được (tất nhiên là có bẻ khóa rồi và mã nguồn đóng), các bác tham khảo nhé.

    Mong mọi người góp ý.

    **********************************

    <a href="http://www.cadviet.com/upfiles/cadlisp.rar" target="_blank"><a href="http://www.cadviet.com/upfiles/cadlisp.rar" target="_blank">http://www.cadviet.com/upfiles/cadlisp.rar</a></a>

    Tuy nhiên chương trình này còn 1 số lỗi

    **********************************

    :leluoi:

    Bạn là dân trắc địa, và có biết về lisp? Mình thì không rành về lisp. Có một lisp rất "đồ sộ" liên quan về tạo lưới tam giác bề mặt và vẽ đường đồng mức (mình nghĩ vậy vì nó có tên là Contour.lsp và nội dung lisp có liên quan surface và contour ). Bạn, hoặc anh em trên diễn đàn biết cách sử dụng thì chỉ cho anh em xài với.

    Đây là địa chỉ của nó

    http://www.koders.com/lisp/fidAAC8FBE7FE5A...A231E0C476.aspx


  2. ; error: no function definition: DOS_GETDIR - lỗi này là do không có hàm DOS_GETDIR. Hàm này nằm đâu thì ... chỉ có chúa và bạn mới biết.

     

    Tóm lại, đoạn mã trên của bạn là một phần của một chương trình hoàn chỉnh. Bạn tìm nốt phần còn lại của chương trình rồi load lên thì hy vọng chương trình sẽ chạy đúng.

    Phần còn lại, "sết" lòi mắt cũng không thấy, người ta viết chỉ có bấy nhiêu.

    Chúa không biết hàm DOS_GETDIR và mình cũng không rành về list, mình chỉ biết là:

    (setq lsp (dos_getdir "Browse for folder" " " "Select a folder as source" t))

    để mở hộp thoại windows chuẩn để chọn thư mục chứa các files *.lsp cần đưa vào file *.fas

    (setq fas (dos_getdir "Browse for folder" " " "Select a folder as destination" t))

    để mở hộp thoại chọn thư mục lưu files *.fas

    Tóm lại mình muốn một lisp thực hiện công việc đưa tất cả các file *.lsp vào một file *.fas hoặc *.vlx. Cái này thì bác Hoành rất biết, vậy thì bác giúp mình đi, chắc chắn nhiều người cũng "hít" cái lisp này. Cám ơn bác trước


  3. Cảm ơn bạn đã quan tâm đến câu hỏi của tôi. Về vấn đề Scan sang đuôi nào thi tôi chưa làm. Nếu bạn biết Scan qua các trường hợp đuôi khác nhau thì bạn có thể chỉ giùm tôi luôn. Còn không thì bạn chỉ giùm tôi cách thông dụng thường làm nhất. Vì tôi có một giáo án rất dài toàn bằng chữ, tôi muốn Scan ra rồi chuyển nó ra World để sửa lại cho nhanh vì thời gian gấp quá. Cảm ơn bạn nhiều.

    Bạn download cái này về nghiên cứu, chắc trúng ý bác rồi đó, link đây:

    http://www.megaupload.com/?d=AGRZ6RTT


  4. Đoạn lisp sau (mới sưu tầm) cho phép nhập nhiều file *.lsp thành một file *.fas để thuận lợi khi load vào Cad chỉ một lần, nhưng mình nhập lệnh báo lỗi sau:

    Command: cltf

    ; error: no function definition: DOS_GETDIR

    Các bạn chỉ giúp, lỗi do đâu? Cách khắc phục

    Đây là nội dung lisp

    (defun c:cltf (/ lsp fas lst)

    (setq lsp (dos_getdir "Browse for folder" " " "Select a folder as source" t))

    (setq fas (dos_getdir "Browse for folder" " " "Select a folder as destination" t))

    (setq lst (vl-directory-files lsp "*.lsp" 1))

    (if

    lst

    (progn

    (foreach x lst

    (vlisp-compile

    'st

    (strcat lsp x)

    (strcat fas (substr x 1 ( - (strlen x) 4)) ".fas")

    )

    ) ; foreach

    ) ; progn

    (alert "There is not contained file")

    ) ; if

    (princ)

    ) ; defun


  5. Tôi đã chỉnh lại email và đã gởi cho email: webmastercadviet@yahoo.com nhưng đựơc trả lời trong diễn đàn không có email như của tôi là tuannguyen3124169@yahoo.com.vn. Mong các bác trả lời. Cảm ơn

    Đổi sang gmail đi bạn. Trước mình cũng xài yahoo, bị liệt vào nhóm email ảo, mà mình tham gia diễn đàn lâu rồi đó chứ, nay chuyển sang gmail, được xóa cấm vận rồi :cheers:


  6. Thật ra lisp trên đã ghi text tại vị trí gần trọng tâm của thửa rồi. File cuả Bạn có được chắc là do 1 phần mềm nào đó xuất ra và các điểm mà Bạn thấy trên hình không phải là trọng tâm của thửa

    Đúng rồi bạn. point này tạo ra trong quá trình tạo topo, point này luôn "nằm gọn" trong thửa, còn tâm thửa như bạn nêu (vị trí ghi text diện tích của chương trình) có một số trường hợp nằm ngoài thửa, chẳng hạn thửa đất có hình chữ U, diện tích ghi ngoài thửa đất như file dưới, dễ nhầm lẫn sang thửa khác

    http://www.cadviet.com/upfiles/VD5.dwg


  7. Mình sưu tầm một lisp tính diện tính tự động cho tất cả polyline kín, cực hay nhưng trong quá trình sử dụng có một số bất tiện, cần phải sửa lại nội dung lisp cho phù hợp nhưng mình không hiểu về lisp, nhờ các bạn nghiên cứu giúp.

    mình đã có một bản vẽ gồm nhiều thửa đất được tạo bằng các polylines kín, trong mỗi thửa có point tâm thửa (file VD1)

    http://www.cadviet.com/upfiles/VD1.dwg

    Dùng lisp trên để tính và ghi diện tích tự động

    Nếu thiết lập sẵn text height >0 thì kết quả diện tích các thửa đất đều có một giá trị là 0 (file VD2)

    http://www.cadviet.com/upfiles/VD2.dwg

    Do vậy, muốn tính, ghi diện tích đúng thì phải thiết lập text height =0 trước khi sử dụng lisp (file VD3)

    http://www.cadviet.com/upfiles/VD3.dwg

    Mình muốn sử dụng lisp này không cần khai báo chiều cao text trong quá trình sử dụng lisp, mà sử dụng chiều cao thiết lập sẵn trong text style

    Về vị trí ghi text: đoạn lisp ghi text diện tích tại điểm pt nào đó mình không hiểu, nhưng nó không quan hệ gì với các point tâm thửa đã có. Mình muốn các text này ghi vào vị trí point tương ứng của mỗi thửa và J=TC (file VD4)

    http://www.cadviet.com/upfiles/VD4.dwg

    Và đây là đoạn lisp

     

    (defun C:AREARON (/

    allx

    ally

    areaobj

    counter

    ctr

    el

    entity-name

    entnamevla

    mysset

    pt

    tst

    vertex

    x

    y

    )

    (vl-load-com)

    (COMMAND "_.UNDO" "BE")

    (set_var)

    (if (tblsearch "Layer" "AREARON")

    (command "._layer"

    "_thaw"

    "AREARON"

    "_on"

    "AREARON"

    "_unlock"

    "AREARON"

    "_set"

    "AREARON"

    ""

    ) ;_ closes command

    (command "._layer"

    "_make"

    "AREARON"

    "_color"

    1

    "AREARON"

    ""

    ) ;_ closes command

    )

    (if (null sch)

    (setq sch 1.0)

    )

    (initget 6)

    (setq temp (getreal (strcat "\nENTER SCALE <"

    (rtos sch 2 2)

    ">: "

    )

    )

    )

    (if temp

    (setq sch temp)

    (setq temp sch)

    )

     

    (if (null precision)

    (setq precision 1)

    )

    (initget 6)

    (setq prec_temp (getint (strcat "\nHOW MANY DECIMAL PLACES?: <"

    (rtos precision 2 2)

    ">: "

    )

    )

    )

    (if prec_temp

    (setq precision prec_temp)

    (setq prec_temp precision)

    )

    (prompt "\nSELECT CLOSED POLYLINES:> ")

    (setq

    mysset (ssget '((0 . "POLYLINE,LWPOLYLINE") (-4 . "&") (70 . 1)))

    counter 0

    )

    (if mysset

    (progn

    (while (< counter (sslength mysset))

    (setq allx 0

    ally 0

    ctr 0

    tst 1

    entity-name (ssname mysset counter)

    EL (entget entity-name)

    entnamevla (vlax-ename->vla-object entity-name)

    areaobj (vla-get-area entnamevla)

    )

    (while (assoc 10 el)

    (setq vertex (cdr (assoc 10 el))

    ctr (+ ctr 1)

    x (car vertex)

    y (cadr vertex)

    allx (+ allx x)

    ally (+ ally y)

    EL (cdr (member (assoc 10 el) el))

    )

    )

    (setq x (/ allx ctr)

    y (/ ally ctr)

    pt (list x y)

    )

    (command "text" "j" "mc"

    pt

    (* sch 2.5)

    "0"

    (rtos areaobj 2 precision)

    )

    (setq counter (+ counter 1))

    )

    )

    (alert "\nNO CLOSED POLYLINES/LWPOLYLINES IN YOUR SELECTION"

    )

    )

    (reset_var)

    (princ)

    (COMMAND "_.UNDO" "END")

    )

    (princ)

     

     

    (defun set_var ()

    (setq oldlayer (getvar "clayer"))

    (setq oldsnap (getvar "osmode"))

    (setq temperr *error*)

    (setq *error* traperror)

    (setvar "osmode" 0)

    (princ)

    )

     

     

    (defun traperror (errmsg)

    (command nil nil nil)

    (if (not (member errmsg '("console break" "Function Cancelled"))

    )

    (princ (strcat "\nError: " errmsg))

    )

    (setvar "clayer" oldlayer)

    (setvar "osmode" oldsnap)

    (princ "\nError Resetting Enviroment ")

    (setq *error* temperr)

    (princ)

    )

     

     

     

    (defun reset_var ()

    (setq *error* temperr)

    (setvar "clayer" oldlayer)

    (setvar "osmode" oldsnap)

    (princ)

    )

     

    ---

    Nhờ các bạn giúp mình, có thể nhiều người cần sử dụng lisp này. Thanks


  8. Bác hứa là làm cái tutorial bằng video rồi mà sao không thấy fản hồi j vậy ?

     

    Đây là soft tôi đã giới thiệu

     

    http://www.cadviet.com/upfiles/BB_FlashBack_v156quay_man_hinh_ghi_am_thanhpart1.rar
    http://www.cadviet.com/upfiles/BB_FlashBack_v156quay_man_hinh_ghi_am_thanhpart2.rar
    http://www.cadviet.com/upfiles/BB_FlashBack_v156quay_man_hinh_ghi_am_thanhpart3.rar

    Bận quá chưa làm theo ý Bác được, thông cảm nhé


  9. cám ơn bạn doanhuyHung bạn có thể sửa lại theo ý mình được ko.viết một lisp vừa tạo tâm thửa vừa đánh số thứ tự lên dc ko. hoặc tính diện tích rồi ghi lên như vậy.cám ơn....

     

    đây là VD

    http://www.cadviet.com/upfiles/Drawing1_11.dwg

    Mình cũng đang cần sự giúp đỡ như bạn, nhưng với file ví dụ của bạn thì không ai giúp được gì đâu. Bỡi vì sự liên hệ giữa các text và point (tâm thửa) trên bản vẽ của bạn quá tự do không theo nguyên tắc nào cả. Khi nhờ sự giúp đỡ của người khác, nên cẩn thận bạn ạ! Có như thế họ mới giúp được mình. Mấy dòng góp ý nhân tình.

    Hy vọng file dưới đây, ý mình trùng ý bạn. Mong các Pro giúp đỡ

    http://www.cadviet.com/upfiles/vd2_1.dwg


  10. Cám ơn sự nhiệt tình của Bác doanhuyHung nhưng chương trình chạy không đúng. Yêu cầu chương trình là :nhập lệnh->chọn đối tượng (là các point tâm thửa)->chương trình ghi số thửa theo nguyên tắc :bắt đầu từ phía trên- trái ghi sang bên phải, kết thúc "hàng trên", xuống "hàng dưới", ghi ngược lại (như đường hình sin ấy mà). Khái niệm " hàng" chỉ là tương đối thôi. Vị trí ghi text là các point với J là BC. Các Bác xem file VD thì biết ngay. Còn đây là kết quả chạy lisp của Bác doanhuyhung, mong bác nghiên cứu chỉnh lại giúp. Cám ơn nhiều

    http://www.cadviet.com/upfiles/ketqua.dwg


  11. Vậy mà bác "PR" rầm rộ làm anh em ...

    Với một soft ~ 2Mb và vài s mà thay được CADOverlay thì hãng Autodesk thất nghiệp ah :) Tôi chưa load và dùng soft này nhưng cũng ko tin vào những j bạn nói. Hiện nay có rất nhiều soft convert ảnh, pdf sang dwg nhưng hiệu quả ko cao vì kết quả chỉ là những line vụn khó mà sử dụng được, nhất là phục vụ công tác số hoá.

    Mình có xem qua nhiều chương trình chuyển raster thành vector, và hiện tại trên máy của mình chật cứng vì những chương trình này, tùy theo nhu cầu của bạn mà sử dụng chương trình nào cho hợp lý. Một điều dễ thấy là chương trình càng đơn giản thì độ chính xác càng thấp. Nếu bạn là dân xây dựng chẳng hạn thì có thể sử dụng những chương trình đơn giản (như R2V toolkit, acme traceArt...) vì trong bản vẽ thường là những đối tượng đơn giản (line, arc, ....), nhưng nếu bạn yêu cầu cao hơn, cần biên tập ảnh trước khi số hóa, nội dung số hóa phức tạp (đường bình độ, các ký hiệu...), biên tập vector sau khi số hóa, thì bạn cần những chương trình cao hơn như Scan2Cad, raster design (là thế hệ sau của CADOverlay),WiseImage...Qua các chương trình trên, mình thấy WiseImage là khá hòan hảo, cái này mình đã giới thiệu trên diễn đàn rồi, Raste design Ko biết mình đã giới thiệu các bạn chưa, tất nhiên nó không bằng WiseImage, nếu chưa mình sẽ gửi các bạn nghiên cứu, cả tài liệu hướng dẫn. Thân chào các bạn


  12. Bác có thử up lên http://www.4shared.com/ chưa?

    Mình có thể up vào 1 hay nhiều folders rồi cho mọi người vào download (hoặc upload thêm vào) thoải mái.

    Max cho phép up vào các folder là 5 GB, còn mỗi file upload là 100 MB

    Cứ down xong 1 file này thì down tiếp cái khác, không phải chờ như link Rapid.

    Trang này là FREE cho upload & download.

    Cũng cần giới thiệu thêm, để tìm tài liệu chúng ta chỉ cần đánh từ chính ( như handbook hoặc autolisp ...vv) vào box SEARCH thì sẽ thấy những thứ liên quan đến từ chính đó.

    Cám ơn bạn, mình đã up xong

    http://www.4shared.com/file/62807536/b50b1...age_pro_10.html


  13. Thưa bác tnmtpc.

    Em đã down thử theo link mới nhưng kết quả không được như ý bác ạ.

     

    Link has expired

    We're sorry but the link you requested has expired.

     

    Use the following link to download this file: http://myfreefilehosting.com/f/30853fb62a_80.92MB

     

    Nhờ bác kiểm tra lại hộ em nhớ

    Thế là toi công mình rồi, trời đất, mình up lên mất 4 tiếng đồng hồ chớ có ít đâu. Bạn down lại trên link rapid xem sao. Nhớ là down xong part1 mới tiếp tục part2. Có gì thông tin lại cho mình biết nhé


  14. Chào bác gamethuds,

    Trên diễn đàn bác khuduba có giới thiệu về phần mềm WiseImage 10 dùng để chuyển các hình ảnh từ Rastor về dạng vertor được khá nhiều người quan tâm. Rất tiếc là đường link để download về lại quá khó thực hiện với những người ốm nặng như em (bệnh viêm màng .... túi kinh niên). Bác có thể giúp đỡ anh em bằng cách tìm nguồn nào có mà có thể dễ dàng download hơn được không. Cám ơn bác trước nha.

    Bác lại mắc chứng lơ đễnh rồi, Khuduba giới thiệu về chương trình tạo file video chớ!

    Ừ mà bác vẫn chưa down được WiseImage à? Mình đưa link khác rồi đấy chứ

×