afrazawan 发表于 2022-7-6 08:08:54

我需要lisp请帮我cordin

大家好
我在考虑任何lisp工具,假设我想在一个表中显示cordinate,我想在seprate表中显示所有cordinate supoose,我自动点击cordinate点,我的cordinate show in table,所以请帮助我如何以及如何在绘制pls ppls时使用代码lisp文本

afrazawan 发表于 2022-7-6 08:13:46

如果有人理解,请帮助我
 
我想在表中单独显示cordinate,但当我点击点时,我的cordinate自动显示在表中或过去ok,就像我们使用IP时,我们的cordinate显示在推荐栏谢谢

Lee Mac 发表于 2022-7-6 08:17:41

可以使用表中的字段显示坐标。

afrazawan 发表于 2022-7-6 08:18:35

请帮助我如何使用它,我想在桌子上展示一下cordinate的所有功能

Lee Mac 发表于 2022-7-6 08:23:05

对不起,忘了问一下,您实际上是在单击的点上创建ACAD点对象吗?

Lee Mac 发表于 2022-7-6 08:25:39

试试这个:
 

(defun c:Pt2Table ( / tab )
(vl-load-com)
;; © Lee Mac~26.05.10

(if
   (setq tab
   (SelectifFoo
       (lambda ( x )
         (eq "ACAD_TABLE"
         (cdr (assoc 0 (entget x)))
         )
       )
       "\nSelect Table: "
   )
   )
   (
   (lambda ( i / rows cols pt )
      
       (setq tab(vlax-ename->vla-object tab)
             rows (vla-get-rows tab)
             cols (vla-get-Columns tab))
      
       (while (and (< (setq i (1+ i)) rows) (setq pt (getpoint "\nPick Point: ")))
         (
         (lambda ( j ) (setq pt (trans pt 1 0))
            
             (while (and pt (< (setq j (1+ j)) cols))
               
               (vla-SetText tab i j (rtos (car pt)))
               (setq pt (cdr pt))
             )
         )
         -1
         )
       )
   )
   0
   )
)
(princ)
)

(defun SelectifFoo ( foo str / sel ent )
(while
   (progn
   (setq sel (entsel str))
   
   (cond
       (
         (vl-consp sel)

         (if (not (foo (setq ent (car sel))))
         (princ "\n** Invalid Object Selected **")
         )
       )
   )
   )
)
ent
)

asos2000 发表于 2022-7-6 08:30:25

我想他希望Lisp程序的人在这个时候
 
-选择一个点
-插入点和序列号
-最后,创建一个表,其中包含点编号和N和E
 
看到这个了吗
;;局部defun(defun make tablestyle(name desc txtstyle h1 h2 h3/tblstyle adoc)(或(vl load com))(setq tblstyle(vla addobject(vla item(vla get dictionary)(setq adoc(vla get activedocument(vlax get acad object)))“acad\u tablestyle”)name“AcDbTableStyle”)(setq acmCol(vla getinterfaceobject(vlax get acad object)(strcat“AutoCAD.AcCmColor”(substr(getvar“ACADVER”)1 2))(vla put name tblstyle name)(vla put headers suppressed tblstyle:vlax false)(vla put titlesuppressed tblstyle:vlax false)(vla put description tblstyle desc)(vla put flowdirection tblstyle 0)(vla put bit flags tblstyle 1)(vla put horzcellmargin tblstyle(/h3 5))(vla put vertcellmargin tblstyle(/h3 5))(vla put vertcellmargin tblstyle)(vla settextstyle tblstyle 7 txtstyle)(vla settextheight tblstyle 1 h3)(vla settextheight tblstyle 4 h2)(vla settextheight tblstyle 2 h1)(vla setrgb acmCol 204 102 0)(vla setgridcolor tblstyle 63 7 acmCol)(vla setgridvisibility tblstyle 63 7:vlax true)(vla setgridlineweight tblstyle 18 7 aclnwt009)(vla setgridlineweight tblstyle 45 7 acnwt050)(vlax release object acmCol));;局部defun(defun draw_table(ins\u point title header\u list table\u data/acmcol acsp adoc axss cnt col columns dht lst\u count objtable row行)(if(<(atof(getvar“ACADVER”))16.0)(alert“此例程适用于A2005及更高版本”)(progn(alert“\tBe patience\n\t缓慢工作”)(或(vl load com))(或adoc(setq adoc(vla get activedocument(vlax get acad object)))(或acsp(setq acsp(if(=(getvar“TILEMODE”)0)(vla get paperspace adoc)(vla get modelspace adoc)))(生成表样式“点数据”“Symbol table”“Standard”10.0 10.0 12.0)(setq acmCol(vla getinterfaceobject(vlax get acad object)(strcat“AutoCAD.AcCmColor。”(substr(getvar“ACADVER”)1 2))(setq dht(getvar“dimtxt”));文本高度,根据套件更改(setq lst\U count nil)(setq columns(length(car table\U data))rows(length table\U data))(setq objtable(vlax invoke acsp’Addtable ins\U point(+2行)列;;行高(随服变化):(*dht 1.667);28;; 列宽(视情况而定):(*dht 8.333);50))(vla put REGISTED objtable:vlax true)(vla put layer objtable“0”)(vla put TITLESUPPPRESED objtable:vlax false)(vla put HEADERSUPPRESED objtable:vlax false)(vla put horzcellmargin objtable(*dht 0.5))(vla put VERTCELLMERMARGIN objtable(*dht 0.5))(vla settextstyle objtable 2“标准”)(vla settextstyle objtable 4“标准”)(vla SETTESTYLE objtable 1“标准”)(vla setrowheight objtable 2(*dht 1.5))(vla setrowheight objtable 4(*dht 1.25))(vla setrowheight objtable 1(*dht 1.25))(vla settextheight objtable 2(*dht 1.25))(vla settextheight objtable 4 dht)(vla settextheight objtable 1 dht)(vla put colorindex acmcol 256)(vla put truecolor objtable acmcol)(vla setcolumnwidth objtable 0(*dht 10))(vla setcolumnwidth objtable 1(*dht 15))(vla setcolumnwidth objtable 2(*dht 15))(vla setcolumnwidth objtable 3(*dht 15))(vla put COLORDINDEX acmcol 2)(vla SETEXT objtable 0 title)(vla SETCELLTEXT objtable 0 0(*dht 1.5))(vla setcellcontentcolor objtable 0 acmcol)(vla put COLORDINDEX acmcol 102)(setq col 0row 1)(foreach a header\U list(vla SETEXT objtable row col a)(vla setcelltextheight objtable row col(*dht 1.25))(vla setcellcontentcolor objtable row col acmcol)(setq col(1+col))(vla put COLORDINDEX acmcol 40)(setq row 2 col 0)(setq cnt 1 row 2)(foreach i table_data(setq col 0)(foreach a i(if(=col 0)(progn(vla settext objtable row col a)(vla SETCELLIGNIGHT objtable row col ACMIDLEFT))(progn)(vla settext objtable row col(rtos a 3 2))(vla setcellalignment objtable row col acMiddleCenter))(vla setcellcontcolor objtable row col acmcol)(setq col(1+col))(setq row(1+row))(vla put regeneratablesuppressed objtable:vlax false)(vl catch all apply(function)(lambda()(progn(vla clear axss)(vla delete axss)(mapcar的vlax release object(列出axss objtable))(vla regen adoc acactiveviewport)(警报“完成”))(princ));;本地defun(defun draw\u textfromlist(data\u list txt\u height/)(或(vl load com))(或adoc(setq adoc(vla get activedocument(vlax get acad object)))(或acsp(setq acsp(if(=(getvar“TILEMODE”)0)(vla get paperspace adoc)(vla get modelspace adoc)))(mapcar(函数(lambda(x)(vlax invoke acsp’AddText(car x)(list(cadr x)(+(caddr x)(*txt\u height 0.785))(last x))txt\u height)))data\u list(princ));;主要部分(defun C:PNT(/ans fd fname lbl loop num pfx pt pts)(initget“Y N”)(setq ans(getkword“\N您想添加前缀吗?(Y/N):”)(if(非ans)(setq ans“Y”)(if(eq“Y”ans)(setq pfx(getstring T”\N输入要添加的前缀:”)(setq num(getint“\N输入初始数字:”)(if(not num)(setq num 1))(setq pt(getpoint“\N数字化第一个点:”)lbl(if pfx(strcat pfx(itoa num))(itoa num))pts(cons(cons lbl pt)pts))(setq num(1+num))(while(setq pt(getpoint“\n数字化下一个点[点击回车退出]:“pt”)(if(null pt)(setq loop nil))(setq lbl(if pfx(strcat pfx(itoa num))(itoa num))(setq pts(cons(cons(cons lbl pt)pts))(setq num(1+num))(setq pts(反向pts))(draw_textfromlist pts(getvar“dimtxt”)));

afrazawan 发表于 2022-7-6 08:33:59

BROTHER nop对于语言示例,我想假设在autocad中,当我们使用commond for cordinate LCD-CD commond wid toopac时,我们将cordinate放置在绘图中,但我希望当我单击cordinate show in table时的任何点-我在绘图中创建一个表seprate我需要表中的所有cordinate,并在表中打印所有绘图cordinate我想节省时间逐个放置cordint,好的,所以我希望你能理解我的问题

Lee Mac 发表于 2022-7-6 08:36:06

我不明白你的意思,6号帖子是我的提议,仅此而已。

BIGAL 发表于 2022-7-6 08:40:32

你在使用civil 3D吗?这列出了临时技术秘书处和内置表格。看起来像停车场的图纸。
 
否则,我们使用一个带有设置pt编号的块,提取到文件中,然后像Lee一样重新导入到文本设置框中。我们的测量员也使用放样文件。
 
应该能够插入块并使用该放样块中属性的字段选项链接到“表”。
 
请参阅“帮助如何使用表中的字段”。
 
额外编辑我确信你可以将插入点设置为字段x,y
页: [1] 2
查看完整版本: 我需要lisp请帮我cordin