Python Forum
What is the correct syntax for list items that need to contain a quotation mark, etc?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What is the correct syntax for list items that need to contain a quotation mark, etc?
#6
This is a script to run in Rhino 3D Ver6. The script works. However, the selection windows comes up as the first pic. I would like it to be as in the second pic. I had found a thread that addressed using quotes by putting them within a mixture of slashes, quotes and apostrophes. I just could not get it to work.

[Image: Scale_opt.jpg]

[Image: Scale_opt_imp.jpg]

(Sep-13-2019, 07:03 PM)buran Wrote:
items = ['1/16"', '1/8"','1/4"','3/8"','1/2"','3/4"','1-1/2"','1/6"','1:1'] scales = [f'{item}=1\'-0"' for item in items] print(scales) for scale in scales: print(scale)
Output:
['1/16"=1\'-0"', '1/8"=1\'-0"', '1/4"=1\'-0"', '3/8"=1\'-0"', '1/2"=1\'-0"', '3/4"=1\'-0"', '1-1/2"=1\'-0"', '1/6"=1\'-0"', '1:1=1\'-0"'] 1/16"=1'-0" 1/8"=1'-0" 1/4"=1'-0" 3/8"=1'-0" 1/2"=1'-0" 3/4"=1'-0" 1-1/2"=1'-0" 1/6"=1'-0" 1:1=1'-0"

This is the answer I think. However, I don't know how to incorporate your scales = [f'{item}.... with the scale = rs.ListBox...in the script I'm trying to edit. The full code is below.

[python]
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext as sc


def setDetailScale():
"""
this script changes the scale of a detail to a selected scale from a listbox
version 1.0
www.studiogijs.nl
"""

detail = rs.GetObject("select detail", filter = 32768)
if not detail:
return
detail = rs.coercerhinoobject(detail)
if not detail.DetailGeometry.IsParallelProjection:
return
#modify the scale
items = ['1/16"', '1/8"','1/4"','3/8"','1/2"','3/4"','1-1/2"','1/6"','1:1']
scale = rs.ListBox(items, "Select scale", "Scale detail")
if not scale:
return
if scale == '1/16"':
intScale = 120
elif scale == '1/8"':
intScale = 96
elif scale == '1/4"':
intScale = 48
elif scale == '3/8"':
intScale = 36
elif scale == '1/2"':
intScale = 24
elif scale == '3/4"':
intScale = 12
elif scale == '1-1/2"':
intScale = 8
elif scale == '1/6"':
intScale = 6
elif scale == '1:1':
intScale = 1

detail.DetailGeometry.SetScale(intScale, sc.doc.ModelUnitSystem, 1, sc.doc.PageUnitSystem)
#lock detail
items = ["YES","NO"]
lock = rs.ListBox(items,"Lock Detail/s","YES","NO")
if lock == "YES":
detail.DetailGeometry.IsProjectionLocked = True
elif lock == "NO":
detail.DetailGeometry.IsProjectionLocked = False
detail.CommitChanges()
sc.doc.Views.Redraw()

if __name__ == '__main__':
setDetailScale()
[python]

Obviously I have not mastered posting the code here correctly. This should be a link to the file. Rhino script.

(Sep-13-2019, 06:52 PM)ichabod801 Wrote: You can backslash it: '1/16"=1\'-0"'.

I tried this. It worked for the first, 1/16"=1'-0". But when I changed the second the script crashed.
Reply


Messages In This Thread
RE: What is the correct syntax for list items that need to contain a quotation mark, etc? - by KaisoArt - Sep-13-2019, 08:44 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to parse and group hierarchical list items from an unindented string in Python? ann23fr 0 70 Yesterday, 01:16 PM
Last Post: ann23fr
  Why do I have to repeat items in list slices in order to make this work? Pythonica 7 1,256 May-22-2023, 10:39 PM
Last Post: ICanIBB
  Finding combinations of list of items (30 or so) LynnS 1 836 Jan-25-2023, 02:57 PM
Last Post: deanhystad
  For Word, Count in List (Counts.Items()) new_coder_231013 6 2,497 Jul-21-2022, 02:51 PM
Last Post: new_coder_231013
  How to get list of exactly 10 items? Mark17 1 2,400 May-26-2022, 01:37 PM
Last Post: Mark17
  how to assign items from a list to a dictionary CompleteNewb 3 1,531 Mar-19-2022, 01:25 AM
Last Post: deanhystad
  Mark outlook emails as read using Python! shane88 2 6,448 Feb-24-2022, 11:19 PM
Last Post: Pedroski55
  Doctesting a function which prints a students name along with the maximum mark scored sean1 5 2,216 Feb-01-2022, 12:20 PM
Last Post: Pedroski55
  Reading list items without brackets and quotes jesse68 6 4,518 Jan-14-2022, 07:07 PM
Last Post: jesse68
Question How to gather specific second-level items from a list chatguy 2 1,516 Dec-17-2021, 05:05 PM
Last Post: chatguy

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020