乐筑天下

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

[编程交流] 我第500次和9/10次尝试

[复制链接]

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:03:08 | 显示全部楼层
大家注意,
 
修改后的代码见第一篇文章。
对局部变量进行了更改。
如果有任何意见,我将不胜感激。
 
谢谢
秃鹰
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
209
发表于 2022-7-6 15:08:21 | 显示全部楼层
你是怎么计算出向量图像的,主要是门的弧线。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:10:16 | 显示全部楼层
嘿,花机器人,
 
我想知道什么时候会有人问我这个问题。
以下是步骤。
 
我只是把门拉到一个基本尺寸。
2、将门放置在屏幕中心。
我运行了一个名为mimage2的程序。lsp(该程序将使用一个图像生成一个对话框和lisp程序)。
4.创建程序时,它存储在C。
5.我打开程序,复制列表并将其粘贴到我的程序中。(我只是相应地格式化它)。
6、我对每张图片都这样做。
 
由于函数的大小,我在这里显示了函数中的第一个和最后一个图像。您可以参考代码中的完整函数。
 
  1. ;;; F09 - Image Function - Update Door Image.                       ;Function Description
  2. (defun IDS_UDI (D:IMG)                                              ;Define function, D:IMG ~ (Door Image) is the argument
  3. (setq D:IMG                                                       ;Set Door Image
  4.    (strcat                                                         ;Concatenate string
  5.     ""(eval D:SWG)""(eval D:ANG)""(eval D:IPT)""))                 ;Evaluate D:SWG ~ (Door Swing) D:ANG ~ (Door Angle) D:IPT ~ (Door Insertion Point)
  6. (setq w (dimx_tile "imG1")                                        ;Set width  coordinate for imG1
  7.        h (dimy_tile "imG1"))                                       ;Set height coordinate for imG1
  8. (start_image "imG1")                                              ;Start image imG1
  9. (fill_image 0 0 w h -15)                                          ;Fill  image
  10. (cond                                                             ;If one of the following conditions apply
  11.    ((= D:IMG "LEFT90OUT")                                          ;D:IMG ~ (Door Image) = D:SWG ~ (LEFT) D:ANG ~ (90) D:IPT ~ (OUT)
  12.      (mapcar 'vector_image                                         ;Start mapcar
  13.        (list  36  37  36  37  36  37  36  37  37  36  36  41  41
  14.               32  41  32  32  41  41  32  32  41  37  41  41  37
  15.               37 119 119 119 119 119 119 118 118 118 117 117 116
  16.              116 115 114 114 113 112 111 110 109 108 107 106 105
  17.              104 103 102 101  99  98  97  95  94  92  91  89  88
  18.               86  84  83  81  79  78  76  74  72  70  69  67  65
  19.               63  61  59  57  55  53  51  49  47  45  43  40  40
  20.               33  40  33  34  40  40  34  33  40  33  34  40  34
  21.               40  40  33  34  40  40  33)
  22.        (list  95  95  86  95  86  86  95  95  86  86  95  91  90
  23.               91  90  91  90  91  90  90  91  91   8   8  91  91
  24.                8  91  89  87  85  83  81  79  77  75  73  71  69
  25.               67  65  63  61  59  58  56  54  52  50  49  47  45
  26.               44  42  40  39  37  36  34  33  31  30  29  27  26
  27.               25  24  23  21  20  19  18  17  17  16  15  14  13
  28.               13  12  12  11  11  10  10   9   9   9   9  94  94
  29.               88  94  88  87  94  94  87  88  94  94  94  87  94
  30.               87  88  94  94  88  87  94)
  31.        (list  37  36  36  36  37  37  37  37  36  36  36  41  32
  32.               41  32  32  41  41  32  32  41  41  41  41  37  37
  33.               37 119 119 119 119 119 118 118 118 117 117 116 116
  34.              115 114 114 113 112 111 110 109 108 107 106 105 104
  35.              103 102 101  99  98  97  95  94  92  91  89  88  86
  36.               84  83  81  79  78  76  74  72  70  69  67  65  63
  37.               61  59  57  55  53  51  49  47  45  43  41  40  33
  38.               40  33  34  40  40  34  33  40  40  34  40  33  40
  39.               40  34  34  40  40  33  33)
  40.        (list  95  86  95  86  86  95  95  86  86  95  95  90  91
  41.               91  91  90  90  90  90  91  91  91   8  91  91   8
  42.                8  89  87  85  83  81  79  77  75  73  71  69  67
  43.               65  63  61  59  58  56  54  52  50  49  47  45  44
  44.               42  40  39  37  36  34  33  31  30  29  27  26  25
  45.               24  23  21  20  19  18  17  17  16  15  14  13  13
  46.               12  12  11  11  10  10   9   9   9   9   9  94  88
  47.               94  88  87  94  94  87  88  94  94  94  87  94  87
  48.               88  94  94  88  87  94  94)
  49.        (list   1   1   1   1   1   1   1   1   1   1   1   1   1
  50.                1   1   1   1   1   1   1   1   1  16  16  16  16
  51.               16  16  16  16  16  16  16  16  16  16  16  16  16
  52.               16  16  16  16  16  16  16  16  16  16  16  16  16
  53.               16  16  16  16  16  16  16  16  16  16  16  16  16
  54.               16  16  16  16  16  16  16  16  16  16  16  16  16
  55.               16  16  16  16  16  16  16  16  16  16  16   1   1
  56.                1   1   1   1   1   1   1   1   1   1   1   1   1
  57.                1   1   1   1   1   1   1)))
  58.    ((= D:IMG "LEFT-RIGHT45IN")                                     ;D:IMG ~ (Door Image) = D:SWG ~ (LEFT-RIGHT) D:ANG ~ (45) D:IPT ~ (IN)
  59.      (mapcar 'vector_image                                         ;Start mapcar
  60.        (list  78  78  78  78  78  77  77  77  76  76  76  75  74
  61.               74  73  72  72  71  70  69  68  67  66  65  64  63
  62.               62  61  99  96 147 150  99  96  95  94  93  92  91
  63.               90  89  88  87  86  85  84  83  83  82  81  81  80
  64.               80  80  79  79  79  78  78  78  78   8   9   8   9
  65.                8   9   8   9   9   8   8  13  13   5  13   5   5
  66.               13  13   5   5  13  57  60   9   6  57  11  12   6
  67.               12   6   6  11  12   6   6  11   6   6  11   6  11
  68.               12   6   6  12  11   6)
  69.        (list  88  86  85  83  81  79  77  75  73  72  70  68  66
  70.               64  63  61  59  57  56  54  52  51  49  48  46  45
  71.               43  42  37  40  91  88  37  40  42  43  45  46  48
  72.               49  51  52  54  56  57  59  61  63  64  66  68  70
  73.               72  73  75  77  79  81  83  85  86  95  95  87  95
  74.               87  87  95  95  87  87  95  92  91  92  91  92  91
  75.               92  91  91  92  92  37  40  91  88  37  94  93  89
  76.               93  89  88  94  93  88  89  94  93  94  88  94  88
  77.               89  93  94  89  88  93)
  78.        (list  78  78  78  78  77  77  77  76  76  76  75  74  74
  79.               73  72  72  71  70  69  68  67  66  65  64  63  62
  80.               61  60  96 147 150  99  99  95  94  93  92  91  90
  81.               89  88  87  86  85  84  83  83  82  81  81  80  80
  82.               80  79  79  79  78  78  78  78  78   9   8   8   8
  83.                9   9   9   9   8   8   8  13   5  13   5   5  13
  84.               13   5   5  13  13  60   9   6  57  57  12   6  11
  85.                6   6  12  12   6   6  11  11   6  11   6  11  12
  86.                6   6  12  11   6   6)
  87.        (list  86  85  83  81  79  77  75  73  72  70  68  66  64
  88.               63  61  59  57  56  54  52  51  49  48  46  45  43
  89.               42  40  40  91  88  37  37  42  43  45  46  48  49
  90.               51  52  54  56  57  59  61  63  64  66  68  70  72
  91.               73  75  77  79  81  83  85  86  88  95  87  95  87
  92.               87  95  95  87  87  95  95  91  92  92  92  91  91
  93.               91  91  92  92  92  40  91  88  37  37  93  89  94
  94.               89  88  93  93  88  89  94  94  94  88  93  88  89
  95.               94  94  89  88  93  93)
  96.        (list  16  16  16  16  16  16  16  16  16  16  16  16  16
  97.               16  16  16  16  16  16  16  16  16  16  16  16  16
  98.               16  16  16  16  16  16  16  16  16  16  16  16  16
  99.               16  16  16  16  16  16  16  16  16  16  16  16  16
  100.               16  16  16  16  16  16  16  16  16   1   1   1   1
  101.                1   1   1   1   1   1   1   1   1   1   1   1   1
  102.                1   1   1   1   1  16  16  16  16  16   1   1   1
  103.                1   1   1   1   1   1   1   1   1   1   1   1   1
  104.                1   1   1   1   1   1))))
  105. (end_image)                                                       ;End   image
  106. )                                                                   ;End   define function

 
还有什么问题,尽管问吧。
谢谢
秃鹰
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:12:49 | 显示全部楼层
这是图片上的完整线索。
您可以从这里下载代码,只需确保您复制了最新版本。
 
http://autolisp-exchange.com/Forums/Forum4/F4T18P1.htm
 
 
秃鹰
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:15:42 | 显示全部楼层
更具体地说,
 
我对一种类型的门使用了多个图像。
选择的组合会更改这些图像。
 
例如
1、左门与外部插入点成90度摆动。
2、左门与内侧插入点成90度摆动。
3、左门与外部插入点成45度摆动。
4、左门与内侧插入点成45度摆动。
下面附加的代码是导致图像更改的主要功能的一部分。
 
  1.   (IDS_UDI D:IMG)                                                   ;Goto IDS_UDI Image Function ~ D:IMG (Door Image) is the argument
  2. (action_tile "LEFT"                                               ;When radio_button Single Door - Left is selected, KEY is LEFT
  3.   "(IDS_UDI (setq D:SWG "LEFT"))")                               ;Goto IDS_UDI Image Function, Set variable D:SWG ~ (Door Swing) to LEFT
  4. (action_tile "RIGHT"                                              ;When radio_button Single Door - Right is selected, KEY is RIGHT
  5.   "(IDS_UDI (setq D:SWG "RIGHT"))")                              ;Goto IDS_UDI Image Function, Set variable D:SWG ~ (Door Swing) to RIGHT
  6. (action_tile "LEFT-RIGHT"                                         ;When radio_button Double Door is selected, KEY is LEFT-RIGHT
  7.   "(IDS_UDI (setq D:SWG "LEFT-RIGHT"))")                         ;Goto IDS_UDI Image Function, Set variable D:SWG ~ (Door Swing) to LEFT-RIGHT
  8. (action_tile "90"                                                 ;When radio_button 90° Angle is selected, KEY is 90
  9.   "(IDS_UDI (setq D:ANG "90"))")                                 ;Goto IDS_UDI Image Function, Set variable D:ANG ~ (Door Angle) to 90
  10. (action_tile "45"                                                 ;When radio_button 45° Angle is selected, KEY is 45
  11.   "(IDS_UDI (setq D:ANG "45"))")                                 ;Goto IDS_UDI Image Function, Set variable D:ANG ~ (Door Angle) to 45
  12. (action_tile "OUT"                                                ;When radio_button Outside Pivot is selected, KEY is OUT
  13.   "(IDS_UDI (setq D:IPT "OUT"))")                                ;Goto IDS_UDI Image Function, Set variable D:IPT ~ (Door Insertion Point) to OUT
  14. (action_tile "IN"                                                 ;When radio_button Inside Pivot is selected, KEY is IN
  15.   "(IDS_UDI (setq D:IPT "IN"))")                                 ;Goto IDS_UDI Image Function, Set variable D:IPT ~ (Door Insertion Point) to IN

 
这部分代码结合了上述键的选择。
我创建了一个名为D的变量:IMG作为参数。通过组合变量D:SWG、D:ANG和D:IPT进行设置。
当选择这些变量组合中的任何一个时,我使用条件转到使用mimage2创建的特定图像列表。lsp。(列表示例请参阅第13篇文章)
 
  1. ;;; F09 - Image Function - Update Door Image.                       ;Function Description
  2. (defun IDS_UDI (D:IMG)                                              ;Define function, D:IMG ~ (Door Image) is the argument
  3. (setq D:IMG                                                       ;Set Door Image
  4.    (strcat                                                         ;Concatenate string
  5.     ""(eval D:SWG)""(eval D:ANG)""(eval D:IPT)""))                 ;Evaluate D:SWG ~ (Door Swing) D:ANG ~ (Door Angle) D:IPT ~ (Door Insertion Point)
  6. (setq w (dimx_tile "imG1")                                        ;Set width  coordinate for imG1
  7.        h (dimy_tile "imG1"))                                       ;Set height coordinate for imG1
  8. (start_image "imG1")                                              ;Start image imG1
  9. (fill_image 0 0 w h -15)                                          ;Fill  image
  10. (cond                                                             ;If one of the following conditions apply
  11.    ((= D:IMG "LEFT90OUT")                                          ;D:IMG ~ (Door Image) = D:SWG ~ (LEFT) D:ANG ~ (90) D:IPT ~ (OUT)
  12.      (mapcar 'vector_image                                         ;Start mapcar
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
209
发表于 2022-7-6 15:18:23 | 显示全部楼层
哇,谢谢你,这比sld好多了。
这很简单。
 
谢谢你这么说
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:21:39 | 显示全部楼层
欢迎光临,
还有什么事,就问吧。
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
209
发表于 2022-7-6 15:24:48 | 显示全部楼层
*编辑,修复了错误
 
是他们的任何类型的东西,图像或类似的,可以合成成一个vlx。因为我想把这一切都保存在一个简单的文件里。因此,为什么我认为矢量图像,虽然它是好的,我想把我的图像在三维到远处的一个很好的渲染。
下面是我使用的代码。
它将转到一个tile_按钮。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:29:34 | 显示全部楼层
Flowerrobot,
 
如果你有完整的代码,让我看看,这样我可以让你知道问题出在哪里。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:32:49 | 显示全部楼层
我相信它会起作用,不过图像按钮的工作方式有点不同。
它可能也必须以不同的方式书写。我使用的显示器与弹出列表配合使用。如果你愿意,我很乐意帮你。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:26 , Processed in 0.451243 second(s), 71 queries .

© 2020-2025 乐筑天下

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