找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 767|回复: 2

[求助] [求助]:这个文件怎么改可以实现只画单线

[复制链接]
发表于 2007-1-10 10:05:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
~~~以下是个slp文件,可以读取txt里的坐标数据和关系数据生成实体,现在只想让其生成线框即可,请问如何修改。~~~

(defun c:jianmo()
  (setq nme1 (getstring"\n 输入杆件关系数据文件名f="))
  (setq nme2 (getstring"\n 输入坐标数据文件名f="))
  (setq tex1 (open nme1 "r1"))
(
  while (/= tex1 nil)
   (setq a1 (read-line tex1))
   (setq a1 (strcat "("a1")"))
   (setq a1 (read a1))
   (setq b1 (nth 0 a1))
   (setq b2 (nth 1 a1))
   (setq b3 (nth 2 a1))

   (setq tex2 (open nme2 "r2"))
   (setq d1 0)
      (
       while (/= b1 d1)
   (setq a2 (read-line tex2))
   (setq a2 (strcat "("a2")"))
   (setq a2 (read a2))
   (setq d1 (nth 0 a2))
   (setq d2 (nth 1 a2))
   (setq d3 (nth 2 a2))
   (setq d4 (nth 3 a2))
        )
  (setq p1(list d2 d3 d4))
   (close tex2)
   (setq tex2 (open nme2 "r2"))
   (setq d1 0)
      (
       while (/= b2 d1)
   (setq a2 (read-line tex2))
   (setq a2 (strcat "("a2")"))
   (setq a2 (read a2))
   (setq d1 (nth 0 a2))
   (setq d2 (nth 1 a2))
   (setq d3 (nth 2 a2))
   (setq d4 (nth 3 a2))
        )
   (setq p2(list d2 d3 d4))
   (close tex2)
   ;(command "line" p1 p2 ^c)
   (command "cylinder" p1 b3 "c" p2 ^c)
)
;(command "ucs" "")
(close tex1)

)


~~~本人因为工作需要第一次接触slp语言,只能勉强看懂后面有一行命令作用就是生成实体的,试着删之(如下),但是有时成功有时不成功,不知是哪个位置的问题~~~

(defun c:jianmo()
  (setq nme1 (getstring"\n 输入杆件关系数据文件名f="))
  (setq nme2 (getstring"\n 输入坐标数据文件名f="))
  (setq tex1 (open nme1 "r1"))
(
  while (/= tex1 nil)
   (setq a1 (read-line tex1))
   (setq a1 (strcat "("a1")"))
   (setq a1 (read a1))
   (setq b1 (nth 0 a1))
   (setq b2 (nth 1 a1))
   (setq b3 (nth 2 a1))

   (setq tex2 (open nme2 "r2"))
   (setq d1 0)
      (
       while (/= b1 d1)
   (setq a2 (read-line tex2))
   (setq a2 (strcat "("a2")"))
   (setq a2 (read a2))
   (setq d1 (nth 0 a2))
   (setq d2 (nth 1 a2))
   (setq d3 (nth 2 a2))
   (setq d4 (nth 3 a2))
        )
  (setq p1(list d2 d3 d4))
   (close tex2)
   (setq tex2 (open nme2 "r2"))
   (setq d1 0)
      (
       while (/= b2 d1)
   (setq a2 (read-line tex2))
   (setq a2 (strcat "("a2")"))
   (setq a2 (read a2))
   (setq d1 (nth 0 a2))
   (setq d2 (nth 1 a2))
   (setq d3 (nth 2 a2))
   (setq d4 (nth 3 a2))
        )
   (setq p2(list d2 d3 d4))
   (close tex2)
   ;(command "line" p1 p2 ^c)
)
;(command "ucs" "")
(close tex1)

)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-1-10 19:12:04 | 显示全部楼层
(setq tex2 (open nme2 "r2"))
我只知道"r" 没看过"r2"
[php]
open 函数



语法

    (open filename mode)

功能及参数

    以mode中指定的模式打开filename文件。

范例

    假设以下的文件名称均不存在:

    (setq f (open "new.tst" "w"))          返回           <File #nnn>

    (setq f (open "nosuch.fil" "r"))       返回           nil

    (setq f (open "logfile" "a"))          返回           <File #nnn>

    filename 可以包含文件夹路径, 如 /test/func3。在 DOS的系统下, 盘符字母代码也可以包含在内, 而且可以使用反斜线来代替斜线(但是要记住在一个字符串中, 必须使用“\\” 得到一个反斜线)。

    (setq f (open "/x/new.tst" "w"))      返回            <File #nnn>

    (setq f (open "nosuch.fil" "r"))      返回            nil
[/php]  
问题就出在: (setq d1 0)和(/= b1 d1) 和(/= b2 d1),
(setq p1 (list d2 d3 d4))和(setq p2 (list d2 d3 d4))
当nme1所代表的文本里b1不等于0,b2也不等于0的时候,只能画出一个点。即p1和p2是同一个点。如果当中b1和b2当中一个等于0或都等于0的时候。就没有p1和p2两点。都不知道你的程序有什么意义。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-1-10 20:02:03 | 显示全部楼层
试一试这样行不行:
[HPH]
(defun c:jianmo        ()
  (setq nme1 (getstring "\n 输入杆件关系数据文件名f="))
  (setq nme2 (getstring "\n 输入坐标数据文件名f="))
  (setq tex1 (open nme1 "r1"))
  (
   while (/= tex1 nil)
    (setq a1 (read-line tex1))
    (setq a1 (strcat "(" a1 ")"))
    (setq a1 (read a1))
    (setq b1 (nth 0 a1))
    (setq b2 (nth 1 a1))
    (setq b3 (nth 2 a1))

    (setq tex2 (open nme2 "r2"))
    (setq d1 0)
    (
     while (/= b1 d1)
      (setq a2 (read-line tex2))
      (setq a2 (strcat "(" a2 ")"))
      (setq a2 (read a2))
      (setq d1 (nth 0 a2))
      (setq d2 (nth 1 a2))
      (setq d3 (nth 2 a2))
      (setq d4 (nth 3 a2))
    )
    (setq p1 (list d2 d3 d4))
    (close tex2)
    (setq tex2 (open nme2 "r2"))
    (setq d1 0)
    (
     while (/= b2 d1)
      (setq a2 (read-line tex2))
      (setq a2 (strcat "(" a2 ")"))
      (setq a2 (read a2))
      (setq d1 (nth 0 a2))
      (setq d2 (nth 1 a2))
      (setq d3 (nth 2 a2))
      (setq d4 (nth 3 a2))
    )
    (setq p2 (list d2 d3 d4))
    (close tex2)
    (command "line" p1 p2 ^c)
    ;;;(command "cylinder" p1 b3 "c" p2 ^c)
  )
  (command "ucs" "")
  (close tex1)

)
[/HPH]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 20:29 , Processed in 0.247039 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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