乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 73|回复: 12

[编程交流] 指定线型的路径

[复制链接]

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 23:14:27 | 显示全部楼层 |阅读模式
您好,我想从topo加载线型。lin文件。这是我的密码。
 
  1. (DEFUN
  2.   C:fen (/ A1 KLIM PER S1 S2 SCL)
  3. (COMMAND "_layer" "_m" "fen" "_c" "140" "" "_LT" "" "C:\\topocad\\topo.lin\\fen" "")
  4. (SETQ SCL (GETVAR "useri1"))
  5. (SETQ KLIM (* 0.005 SCL))
  6. (SETQ PER "Fen")
  7. (COMMAND "_linetype" "_s" "C:\\topocad\\topo.lin\\fen" "")
  8. (PRINT "")
  9. (SETQ S1 (GETPOINT "give the first point :"))
  10. (PRINT "")
  11. (WHILE (SETQ S2 (GETPOINT S1 " give the second point:"))
  12.    (PRINT "")
  13.    (COMMAND "_line" "non" S1 "non" S2 "")
  14.    (COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
  15.    (SETQ S1 S2)
  16. )
  17. )

 
当我运行代码时,会得到以下结果
 
 
你能帮忙吗?
谢谢
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:19:42 | 显示全部楼层
我认为您没有指定要加载的线型:
  1. (COMMAND "_linetype" [color=red]"_L"[/color] [color=red]"NameOfYourLIneType"[/color] "C:\\topocad\\topo.lin\\fen[color=red].lin[/color]" "")

要使其成为电流,可能还需要检查CELTYPE系统变量。
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 23:28:08 | 显示全部楼层
lin文件是topo。林你为什么写芬。林?
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:29:44 | 显示全部楼层
试试这个:
 
  1. (DEFUN C:fen ( / A1 KLIM S1 S2 SCL )
  2. (COMMAND "_.-linetype" "_L" "fen" "C:\\topocad\\topo.lin")
  3. (COMMAND "_.-layer" "_m" "fen" "_c" "140" "" "_LT" "fen" "" "")
  4. (SETQ SCL (GETVAR "useri1"))
  5. (SETQ KLIM (* 0.005 SCL))
  6. (PRINT "")
  7. (SETQ S1 (GETPOINT "give the first point :"))
  8. (PRINT "")
  9. (WHILE (SETQ S2 (GETPOINT S1 " give the second point:"))
  10.    (PRINT "")
  11.    (COMMAND "_.line" "non" S1 "non" S2 "")
  12.    (COMMAND "_.change" (entlast) "" "_P" "_LT" "fen" "_S" KLIM "")
  13.    (SETQ S1 S2)
  14. )
  15. (PRINC)
  16. )
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 23:37:42 | 显示全部楼层
marko_ribar现在给了我这个
 
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:41:02 | 显示全部楼层
也许是这样。
  1. (DEFUN C:fen (/ A1 KLIM OLD_CLT PER S1 S2 SCL)
  2. (setq old_clt (getvar 'CELTYPE))
  3. (if (and (not (tblsearch "ltype" "fen"))
  4.    (findfile "C:\\topocad\\topo.lin")
  5.      )
  6.    (command "-linetype" "l" "fen" "C:\\topocad\\topo.lin" "")
  7. )
  8. (if (tblsearch "ltype" "fen")
  9.    (progn
  10.      (COMMAND "_layer" "_m" "fen" "_c" "140" "fen" "_lt" "fen" "fen" "")
  11.      (SETQ SCL (GETVAR "useri1"))
  12.      (SETQ KLIM (* 0.005 SCL))
  13.      ;; (SETQ PER "Fen") ?????
  14.      (COMMAND "_linetype" "_s" "fen" "")
  15.      ;;(PRINT "")
  16.      (SETQ S1 (GETPOINT "\nSpecify the first point :"))
  17.      ;;(PRINT "")
  18.      (WHILE (SETQ S2 (GETPOINT S1 "\nSpecify the second point:"))
  19. ;;(PRINT "")
  20. (COMMAND "_line" "non" S1 "non" S2 "")
  21. (COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
  22. (SETQ S1 S2)
  23.      )
  24.      (setvar 'CELTYPE old_clt)
  25.    )
  26. )
  27. (princ)
  28. )

 
HTH公司
亨里克
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 23:46:02 | 显示全部楼层
嗯,席尔瓦,这是工作,谢谢
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:50:55 | 显示全部楼层
 
不客气prodromosm
很高兴我能帮忙
 
亨里克
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-5 23:56:23 | 显示全部楼层
任何人都可以在lisp的末尾添加选项吗
 
是否要将该直线转换为多段线
 
  1. (DEFUN C:fen (/ A1 KLIM OLD_CLT PER S1 S2 SCL)
  2. (setq old_clt (getvar 'CELTYPE))
  3. (if (and (not (tblsearch "ltype" "fen"))
  4.    (findfile "C:\\topocad\\topo.lin")
  5.      )
  6.    (command "-linetype" "l" "fen" "C:\\topocad\\topo.lin" "")
  7. )
  8. (if (tblsearch "ltype" "fen")
  9.    (progn
  10.      (COMMAND "_layer" "_m" "fen" "_c" "140" "fen" "_lt" "fen" "fen" "")
  11.      (SETQ SCL (GETVAR "useri1"))
  12.      (SETQ KLIM (* 0.005 SCL))
  13.      ;; (SETQ PER "Fen") ?????
  14.      (COMMAND "_linetype" "_s" "fen" "")
  15.      ;;(PRINT "")
  16.      (SETQ S1 (GETPOINT "\nSpecify the first point :"))
  17.      ;;(PRINT "")
  18.      (WHILE (SETQ S2 (GETPOINT S1 "\nSpecify the second point:"))
  19. ;;(PRINT "")
  20. (COMMAND "_line" "non" S1 "non" S2 "")
  21. (COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
  22. (SETQ S1 S2)
  23.      )
  24.      (setvar 'CELTYPE old_clt)
  25.    )
  26. )
  27. (princ)
  28. )

 
  1. (initget "Yes No")
  2.   (setq convert (cond ( (getkword "\nConvert to polylines? [Yes/No] <Y>: ") ) ( "Yes" )))
  3.          (if ( "Yes" convert)
  4.              (command "_.pedit" "_M"   "" "_J" "" ""))
  5.          )

 
我不知道如何连接它们
谢谢
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:03:50 | 显示全部楼层
既然例程只绘制一条线段,为什么不直接将其创建为多段线?
  1. (COMMAND "_[color=magenta]P[/color]line" "non" S1 "non" S2 "")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 00:12 , Processed in 0.789746 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表