明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2656|回复: 10

请问,这个函数如何实现

[复制链接]
发表于 2002-9-18 08:08:00 | 显示全部楼层 |阅读模式
各位高人,我有一个问题想请教,我想通过程序从一个文本文档读入坐标,然后画出线来
文本文档格式如下:
6 ;坐标个数
2,4 3,5 2,6 5,7 4,9 4,7

还有一个问题
有一条直线和刚才的折线相交,要求程序能用折线将相交的直线裁切。

请帮忙解答,谢谢。(如有代码最好)
发表于 2002-9-18 10:28:00 | 显示全部楼层

见内:

本帖最后由 作者 于 2002-9-18 10:28:43 编辑


(defun c:demo ()
  (makelines (GetPtlist (cadr (mc_getfile "c:/test.txt"))))
  (princ)
)

;;; 上式中用到自定义的函数

;;;getptlist作用: "2,4 3,5 2,6 5,7 4,9 4,7"
;;;->((2 4) (3 5) (2 6) (5 7) (4 9) (4 7))
(defun GetPtList (str / formatptlist )
  ;;formatptlst: (2 4 3 5 2 6 5 7 4 9 4 7)
  ;;->((2 4) (3 5) (2 6) (5 7) (4 9) (4 7))
  ;; 为简单起见这个函数用了递归,如果点极多列表很长,你自行改写一下以免溢出
  (defun FormatPtList (lst)
    (if        lst
      (cons (list (car lst) (cadr lst))
            (FormatPtList (cddr lst))
      )
      nil
    )
  )
  (setq str (vl-string-translate "," " " str))
  (setq str (strcat "(" str ")"))
  (formatptlist (read str))
)

(defun makelines (ptlst)
  (command "_.line")
  (mapcar ''((pt) (command "_non" pt)) ptlst)
        ; 此处的non临时屏蔽掉捕捉, 避免系统变量osmode设置
  (command ""); 如果闭合,改为(command "close")
)

;;;此函数载于本站明经道通函数中
;;;=============================================================
;;;mc_getfile
;;;读取文件并按行将文件转换为表
;;;参数
;;;files:文本文件名,如未指定路径则自动在搜索路径中查找文件
;;;返回值
;;;返回一个表,文件中一行被转换为表中的一个项,如果文件不存在,则返回nil
;;;示例
;;;(mc_getfile "tyl.ini")
;;;注意
;;;无
;;;作者
;;;郑立楷
(defun mc_getfile (files / tmplst x fn)
  (setq files (findfile files))
  (if files
    (progn
      (setq fn (open files "r"))
      (while (setq x (read-line fn))
        (setq tmplst (append tmplst (list x)))
      )
      (close fn)
      tmplst
    )
    nil
  )
)
发表于 2002-9-18 10:30:00 | 显示全部楼层

附件,demo.lsp

本帖最后由 作者 于 2002-9-18 10:30:20 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2002-9-19 08:21:00 | 显示全部楼层

非常感谢郑立楷老师的例子

非常感谢郑立楷老师的例子。

点评

秋枫叫正离开?  发表于 2011-10-22 20:47
 楼主| 发表于 2002-9-19 08:23:00 | 显示全部楼层

非常感谢秋枫

非常感谢秋枫,不知我提出的第二个问题可有解决的方法,请告知,谢谢。
发表于 2002-9-19 09:35:00 | 显示全部楼层

你那个估计用trim命令即可解决。我没空写。提示一下,trim时选物体可以用fence方式

你那个估计用trim命令即可解决。我没空写。提示一下,trim时选物体可以用fence方式。[br]
发表于 2002-9-19 20:15:00 | 显示全部楼层

沾了点光而已

发表于 2012-12-18 16:18:29 | 显示全部楼层
;;;此函数载于本站明经道通函数中
;;;=============================================================
;;;mc_getfile
;;;读取文件并按行将文件转换为表

这个明经通道函数集在哪,我以前怎么没听说过.哪位解释下,给个链接.
发表于 2012-12-18 18:56:07 | 显示全部楼层
004 发表于 2012-12-18 16:18
;;;此函数载于本站明经道通函数中
;;;=============================================================
...

你找到了,也给我说声,,我还见你第一次说有明经通道的函数集,,
发表于 2012-12-18 19:43:35 | 显示全部楼层
xiabin68 发表于 2012-12-18 18:56
你找到了,也给我说声,,我还见你第一次说有明经通道的函数集,,

刚翻到的http://www.mjtd.com/function/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-3 10:34 , Processed in 0.186654 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表