乐筑天下

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

[编程交流] Lisp使用不同的线型

[复制链接]

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:13:45 | 显示全部楼层
 
没问题,罗布,总是很乐意帮忙。
不要让可能的客户从裂缝中溜走。
优先事项优先。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:16:24 | 显示全部楼层
 
 
抢劫
 
我意识到你可能认为每次你想设置一个层时都需要做一个函数。但事实并非如此。我只是想澄清一下。
在本例中,使用两种不同的线型和两种不同的颜色创建了两个不同的图层。
只需在要更改的行之前调用layer函数。
 
这里有一个更好的例子。
函数语法:LINLAY
 
  1. (defun C:LINLAY ()                                                  ;Define function
  2. (setq OLDLAY (getvar "CLAYER"))                                   ;Save current layer to old layer
  3. (command "_.ltscale" 20)                                          ;Set line scale
  4. (setq PT01 (list  0.0   0.0  0.0))                                ;PT01 Coord
  5. (setq PT02 (list 25.0  25.0  0.0))                                ;PT02 Coord
  6. (setq PT03 (list 25.25 25.50 0.0))                                ;PT03 Coord
  7. (setq PT04 (list 50.25 60.0  0.0))                                ;PT04 Coord
  8. (SLL "HIDDEN" "1" "HIDDEN")                                       ;Go to SLL Layer Function
  9. (command "_.line" PT01 PT02 "")                                   ;Line command
  10. (SLL "CONTINUOUS" "5" "CONTINUOUS")                               ;Go to SLL Layer Function
  11. (command "_.line" PT03 PT04 "")                                   ;Line command
  12. (setvar "CLAYER" OLDLAY)                                          ;Restore old layer                                       
  13. (princ)                                                           ;Exit quietly
  14. )                                                                   ;End define function
  15. ;;; Layer Function - Set Layer & Linetype.                          ;Function Description
  16. (defun SLL (NLAY CLR LT / LAY FRZ)                                  ;Define function, Declare local variables and arguments
  17. (setq LAY  (tblsearch "layer" NLAY))                              ;Search drawing to find layer, Note: (NOT USED)
  18. (if                                                               ;If the following returns true
  19.    (not LAY)                                                       ;Layer not in drawing
  20.    (command "_.layer" "m" NLAY "c" CLR "" "lt" LT "" "")           ;Layer command ~ make new layer with color and linetype
  21.    (progn                                                          ;Then do the following
  22.      (setq FRZ (cdr (assoc 70 LAY)))                               ;Variable FRZ is frozen layer
  23.      (if (= FRZ 65)                                                ;Layer frozen from last edit
  24.        (progn                                                      ;Then do the following
  25.          (command "_.layer" "t" NLAY "")                           ;Thaw new layer if frozen
  26.          (command "_.layer" "s" NLAY ""))                          ;Set new layer
  27.        (command "_.layer" "s" NLAY ""))))                          ;Set new layer
  28. )                                                                   ;End define function
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:00 , Processed in 0.309405 second(s), 54 queries .

© 2020-2025 乐筑天下

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