乐筑天下

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

[编程交流] 将地块/多边形数据生成到t

[复制链接]

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:47:04 | 显示全部楼层
好了,makimaki,受够了“大师”的东西
 
2.这就是为什么我建议使用块而不是ACAD_表。为新手编写代码更容易。告诉我,你还想继续使用ACAD_表吗?我的下一个建议将取决于你的回答。[第2项]
 
3.vl字符串subst
  1. [color="silver"](vla-settext atable 1 2 "DISTANCES")[/color]
  2. [b](vla-InsertRowsAndInherit atable 2 0 1)[/b]
  3. [b] (vla-settext atable 2 0 "WHERE YOU GET THE TITLE") [/b]   
  4. [color="silver"](setq row [/color][b]3[/b])
  5. [color="silver"]   (foreach item  table_data[/color]

 
但是,对于一位数的值“S 075d29’W”,是否需要前导“0”
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 16:49:28 | 显示全部楼层
你好,pBe。
 
对于#2。也许我会接受你关于使用积木的建议。请帮助我,因为使用积木,我完全没有知识,谢谢pBe。
 
对于#3。有趣的是,我昨晚在做实验,幸运的是我做对了。我们有相同的代码。哈哈哈。
是的,我需要前导“0”表示个位数。(即:S 7d29’W将变为S 07d29’W;S 23d9’W将变为S 23d09’W。我不知道该怎么做。提前感谢pBe的帮助。
 
当做
makimaki公司
回复

使用道具 举报

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:51:36 | 显示全部楼层
等等,makimaki,你在骗我为你写代码
 
标题如何[它的来源是什么?提示和/或选择?
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 16:55:09 | 显示全部楼层
 
哈哈哈。你难住我了。但我真的需要你的帮助。我没有足够的时间,我的学习将在3天后进行。
 
选择文本更适合标题的来源。还记得你帮我做批号和分批号的代码吗?用户将选择批号或子批号作为所有权来源。
再次非常感谢pBe。别担心,我会把你包括在我的感谢信中,甚至把我的研究报告给你看/上传,这样你就会知道你帮了我多少。再次感谢pBe先生。
回复

使用道具 举报

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:59:44 | 显示全部楼层
我们将使用普通代码和块
 
  1. (setq ang (vl-string-subst "%%d" "d" (angtos ang 4 2)))

 
BLLM:用于连接线
 
  1. (defun c:maki2 ( / _pad0angtos data sn title sp np bearing dst data Main_start data_ip
  2.                         LineValue1 LineValue2 BearingValue DistanceValue)
  3. ;;;                              Vanilla code                        ;;;
  4. ;;;                         pBe 31 Marc 2015                ;;;
  5. (defun _pad0angtos  (br / i n)
  6. (setq i 2
  7.     l (strlen br))
  8. (while (/= (substr br (setq i (1+ i)) 1) "d"))
  9. (setq n    (mapcar '(lambda (n)
  10.                         (strcat (if (< (setq n (atoi n)) 10)
  11.                                     "0"  "")
  12.                               (itoa n)))
  13.                  (list (substr br 2) (substr br (setq i (1+ i))))))
  14. (strcat (substr br 1 2)
  15.       (car n)  "%%d" (cadr n)
  16.       (substr br (- l 2)))
  17. )
  18.      (setq main_start nil)
  19.      (setvar 'Attdia 0)
  20.      (setvar 'Attreq 1)
  21.      (command "-layer" "m" "Technical Description" "")
  22.      (command "-layer" "c" "7" "Technical Description" "")
  23.      (setvar "cecolor" "bylayer")
  24.      
  25.      
  26.              (while
  27.              (and (progn
  28.                         (setq data nil SN 1)
  29.                         (initget "N")
  30.                         (setq Title (entsel "\nSelect Lot Name Text / N for name: "))
  31.                         (and Title
  32.                          (setq Title (if (eq Title "N")
  33.                                      (strcase (getstring "\Enter Lot Name : "))
  34.                                         (if (member (cdr (assoc 0 (setq ent (entget (car Title))))) '("TEXT" "MTEXT"))
  35.                                                     (cdr (assoc 1 ent)))))
  36.                              (snvalid Title))
  37.                         )
  38.                   (setq sp (getpoint "\nPick Start Point"))
  39.                   (setq sp_ sp)
  40.                   )
  41.         (while
  42.               (setq np (getpoint sp "\nPick Next Point"))
  43.               (setq dst (distance sp np))
  44.               (setq bearing (angle sp np))                               
  45.               (setq dst (Strcat (rtos dst 2 2) " m."))       
  46.               (setq bearing (angtos bearing 4 2))
  47.               (setq bearing (_pad0angtos bearing))
  48.               (setq data (cons
  49.                                (list (itoa sn)  Bearing dst np) data))
  50.               (setq sp np sn (+ 1 sn))
  51.               )
  52.              (setq data (cons (list  (itoa sn)
  53.                                     (_pad0angtos (angtos (angle sp sp_) 4 2))
  54.                                      (Strcat (rtos (distance sp sp_) 2 2) " m.")) data))
  55.              (setq data (reverse (cons (last data) data)))
  56.           (if (null Main_start)
  57.                  (progn
  58.                              (setq Main_start (getpoint "\nPick Insertion point for Main Title location"))
  59.                              (command "-Insert" "MainTitle" "_non" Main_start "" "")
  60.                        
  61.                        (setq Data_ip (polar Main_start (* pi 1.5) 6.0))
  62.                        )
  63.                  )
  64.         (command "-Insert" "LotTitle" "_non" Data_ip "" "" Title )
  65.         (while (and (setq data1 (car data))
  66.                    (setq data2 (cadr data)))
  67.              (setq Data_ip (polar Data_ip (* pi 1.5) 1.6))
  68.              (setq LineValue1 (car data1))
  69.              (setq LineValue2 (car data2))
  70.              (setq BearingValue (cadr data1))
  71.              (setq DistanceValue (caddr data1))
  72.              (command "-Insert" "Data" "_non" Data_ip "" ""
  73.                   LineValue1
  74.                   LineValue2
  75.                   BearingValue
  76.                   DistanceValue
  77.                    )
  78.                        
  79.                         (Setq data (cdr data)))
  80.                  
  81.        (command "-Insert" "table_close" "_non" Data_ip "" ""  )
  82.        (setq Data_ip (polar Data_ip (* pi 1.5) 3.0))     
  83.        )
  84.      
  85.      (princ)
  86. )

 
BLLM块
BLLM_标题。图纸
BLLM_数据。图纸
 
Maki2区块
洛蒂特。图纸
数据图纸
主要标题。图纸
 
BLLM和Maki2的公共块
table_关闭。图纸
 
  1. (defun c:bllm ( / BLLM# BLLM_N BLLM_E BLLMDATA BLLMC Title BLLMipt BLLMipt)
  2.      (if (and
  3.         (setq BLLM# (getint "\nEnter BLLM Nos.: "))
  4.         (setq BLLM_N (getreal "\nEnter Northing: "))
  5.         (setq BLLM_E (getreal "\nEnter Easting: "))
  6.                )
  7.      (progn
  8.        (setq BLLMDATA nil
  9.              BLLMC    (list BLLM_E BLLM_N))
  10. (while
  11.              (and (setq Title (strcase (getstring "\nEnter Lot Name: ")))
  12.            (snvalid Title)
  13.                   (setq sp (getpoint BLLMC (Strcat "\nPick corner # 1 for " Title )))
  14.                   )
  15.              (setq BLLMDATA (cons (list title (_pad0angtos (angtos (angle  BLLMC sp)))
  16.                                          (strcat (rtos (distance BLLMC sp) 2 2) " m.")) BLLMDATA))
  17.              )
  18.        (setq BLLMipt (getpoint  "\nPick BLLM table insertion point"))
  19.        (command "-Insert" "BLLM_Title" "_non" BLLMipt "" "" (itoa BLLM# ))
  20.        (setq BLLMData_ip (polar BLLMipt (* pi 1.5) 7.6))
  21.        (foreach TieLines (reverse BLLMDATA)
  22.              (command "-Insert" "BLLM_Data" "_non" BLLMData_ip "" ""
  23.                   (car TieLines)
  24.                    (cadr TieLines)
  25.                    (last TieLines)
  26.                    )
  27.            (setq BLLMData_ipp BLLMData_ip
  28.                  BLLMData_ip (polar BLLMData_ip (* pi 1.5) 1.6))  
  29.              )
  30.                      (command "-Insert" "table_close" "_non" BLLMData_ipp "" ""  )
  31.        )
  32.          )
  33.      (princ)
  34.      )

 
此提示将要求用户选择文字/多行文字,或者如果没有要选择的对象实体,则用户可以键入“N”以提示输入名称
 
HTH公司
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 17:00:30 | 显示全部楼层
 
非常感谢pBe先生。刚刚通过true view将dwg文件转换为2010,因为我只有aCAD2010。
 
先生,我对你的例行公事有点困惑。首先,它会要求我为地块名称选择或提示一个名称,然后它会要求我选择边界点,单击enter后,会出现一个block attrib对话框并要求输入名称。我不知道它是怎么工作的。或者这是因为我有2010年aCAD。
 
2.这个例程是独立的还是应该与第一个代码结合?谢谢你的帮助,pBe先生。
回复

使用道具 举报

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 17:05:35 | 显示全部楼层
哎呀。
 
找出当insert命令提示输入属性值Makimaki时,对话框出现的原因。并将其包含在代码中
 
对于原始代码中的这一行
(命令“cecolor”“bylayer”)将其更改为(setvar“cecolor”“bylayer”)[
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 17:08:50 | 显示全部楼层
可怜的我。我真的不知道该怎么办,pBe先生。
回复

使用道具 举报

2

主题

18

帖子

16

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 17:11:57 | 显示全部楼层
 
真的吗?
 
属性1
收件人0
 
随便。请参阅第16页的更新代码
 
编辑:等等,我在那里看到了一个bug,最后一点对一点[愚蠢的我]。。。已更新
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 17:12:49 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:07 , Processed in 0.367944 second(s), 70 queries .

© 2020-2025 乐筑天下

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